(lambda
()
(keymap-set lisp-mode-shared-map "]"
- (re/balance-and-eval-sexp #'newline)))))
+ (re/balance-and-eval-sexp
+ (lambda
+ ()
+ (interactive)
+ (sedit-auto-prettify-sexp)
+ (forward-sexp)))))))
(add-hook 'lisp-interaction-mode-hook
(lambda
;; IELM
(keymap-global-set "C-c i" #'ielm)
+
(add-hook 'ielm-mode-hook
(lambda
()
(keymap-set inferior-emacs-lisp-mode-map "C-l" #'comint-clear-buffer)
- (keymap-set inferior-emacs-lisp-mode-map ")"
- (re/send-on-close-paren #'ielm-send-input))
- (keymap-set inferior-emacs-lisp-mode-map "]"
- (re/balance-and-eval-sexp #'ielm-send-input))))
+ (let
+ ((eval-function #'ielm-send-input))
+ (keymap-set inferior-emacs-lisp-mode-map ")"
+ (re/send-on-close-paren eval-function))
+ (keymap-set inferior-emacs-lisp-mode-map "]"
+ (re/balance-and-eval-sexp eval-function)))))
;; Eshell
(keymap-global-set "C-c e" #'eshell)
+
(add-hook 'eshell-mode-hook
(lambda
()
(keymap-set eshell-mode-map "C-d" #'eshell-quit-or-delete-char)
- (keymap-set eshell-mode-map ")"
- (re/send-on-close-paren #'eshell-send-input))
- (keymap-set eshell-mode-map "]"
- (re/balance-and-eval-sexp #'eshell-send-input))))
+ (let
+ ((eval-function #'eshell-send-input))
+ (keymap-set eshell-mode-map ")"
+ (re/send-on-close-paren eval-function))
+ (keymap-set eshell-mode-map "]"
+ (re/balance-and-eval-sexp eval-function)))))
;; SLIME REPL
(add-hook 'slime-repl-mode-hook
(lambda
()
- (keymap-set slime-repl-mode-map ")"
- (re/send-on-close-paren #'slime-repl-return))
- (keymap-set slime-repl-mode-map "]"
- (re/balance-and-eval-sexp #'slime-repl-return))))
+ (let ((eval-function #'slime-repl-return))
+ (keymap-set slime-repl-mode-map ")"
+ (re/send-on-close-paren eval-function))
+ (keymap-set slime-repl-mode-map "]"
+ (re/balance-and-eval-sexp eval-function)))))
;; Org Starters
(keymap-global-set "C-c l" #'org-store-link)