add nice SLIME like flashes to evaluation in Geiser

This commit is contained in:
opFez 2021-04-28 20:08:51 +02:00
parent 4128eacc98
commit c8efc20173
3 changed files with 39 additions and 2 deletions

View File

@ -36,15 +36,21 @@
(setq compile-command "make ")
(global-set-key (kbd "C-x C-m") 'compile)
(add-hook 'compilation-mode-hook
(lambda () (local-set-key (kbd "n") 'compilation-next-error)))
(add-hook 'compilation-mode-hook
(lambda () (local-set-key (kbd "p") 'compilation-previous-error)))
(defun mark-line ()
(interactive)
(move-beginning-of-line nil)
(set-mark (point))
(move-end-of-line nil))
(global-unset-key (kbd "C-x C-z")) ; disable suspend frame
(global-set-key (kbd "C-x C-z") 'mark-line)
(global-unset-key (kbd "C-z")) ; disable suspend frame
(global-unset-key (kbd "C-x C-z")) ; disable suspend frame
(global-set-key (kbd "C-x C-x") 'other-window)
(global-set-key (kbd "C-x C-b") '(lambda () (interactive)
(bs-show nil)
@ -62,3 +68,24 @@
(interactive)
(disable-theme 'magik)
(load-theme 'basic)))
(defun current-line-empty-p ()
(save-excursion
(beginning-of-line)
(looking-at-p "[[:space:]]*$")))
(defun flash-region (&optional timeout)
"Temporarily highlight region from START to END. Taken from SLIME source code and modified."
(interactive)
(transient-mark-mode)
(save-excursion
(mark-defun)
(when (current-line-empty-p)
(forward-char))
(let* ((start (region-beginning))
(end (region-end))
(overlay (make-overlay start end)))
(deactivate-mark)
(overlay-put overlay 'face 'secondary-selection)
(run-with-timer (or timeout 0.2) nil 'delete-overlay overlay)))
(transient-mark-mode))

View File

@ -120,6 +120,8 @@
'(custom-safe-themes
'("a6473f7abf949f4a6a1a9cc0dd37ea2e35ba3cea65d3442b98d65c5c5c5cb8d7" "b026761932dac55edfc103de7267ab1db5cd7cc183e06654a2be976cf3a09b9c" "2eeeb1813d66b7d1b858ecf7e4623f774ee555f4b6c1e6de93a1875c03af41de" "5a5e51dc0d54d7626f182dcc1712ed0bad80085db52da3fbe737be4f58d983d0" "4c5f4e96bbde8ab012c661b04c887d9cf65ee9fc37abcce661aabd3a098a69e9" "9c25bd583aa28e4a96af84c9bcf4b5c917bb2ec907ac9d5ab745e54b27104ec6" default))
'(display-time-mode t)
'(org-babel-load-languages '((awk . t) (lisp . t) (emacs-lisp . t) (C . t)))
'(org-confirm-babel-evaluate nil)
'(package-selected-packages
'(basic-theme geiser-chicken geiser-guile disaster multiple-cursors nasm-mode carp-mode flycheck ido-mode move-text undo-tree sorcery-theme autothemer rust-mode paredit forth-mode avy swiper auto-package-update magit expand-region go-mode tao-themes tao-theme almost-mono-themes use-package))
'(pdf-view-midnight-colors '("#dddddd" . "#000000"))

View File

@ -68,7 +68,15 @@
(setq inferior-lisp-program "sbcl"))
(use-package geiser
:ensure t)
:ensure t
:config
(add-hook 'geiser-mode-hook
(lambda ()
(define-key geiser-mode-map (kbd "C-c C-c") nil) ;; remove default C-c C-c binding
(local-set-key (kbd "C-c C-c") (lambda ()
(interactive)
(flash-region)
(geiser-eval-definition))))))
(use-package geiser-guile
:ensure t)