summaryrefslogtreecommitdiff
path: root/modes/elisp-mode
diff options
context:
space:
mode:
authorcondy <condy0919@gmail.com>2021-01-06 01:16:52 +0800
committerJames N <james@jojojames.com>2021-01-07 02:10:26 -0800
commite7be9f53a05c81ef9e89c2f053ba62048e6afd69 (patch)
tree57b30676b018b552fb7ff7c802e2749de6cd61d6 /modes/elisp-mode
parentf53ef08224f709c732740d45b373ef3617f6d759 (diff)
elisp-mode: Binds gz to ielm
Diffstat (limited to 'modes/elisp-mode')
-rw-r--r--modes/elisp-mode/evil-collection-elisp-mode.el14
1 files changed, 12 insertions, 2 deletions
diff --git a/modes/elisp-mode/evil-collection-elisp-mode.el b/modes/elisp-mode/evil-collection-elisp-mode.el
index e7965d5..b43385f 100644
--- a/modes/elisp-mode/evil-collection-elisp-mode.el
+++ b/modes/elisp-mode/evil-collection-elisp-mode.el
@@ -30,7 +30,7 @@
(require 'elisp-mode)
(require 'evil-collection)
-(defconst evil-collection-elisp-mode-maps nil)
+(defconst evil-collection-elisp-mode-maps '(emacs-lisp-mode-map))
(defun evil-collection-elisp-mode-last-sexp-setup-props (beg end value alt1 alt2)
"Set up text properties for the output of `elisp--eval-last-sexp'.
@@ -67,13 +67,23 @@ alternative printed representations that can be displayed."
(apply command args))
(apply command args)))
+(defun evil-collection-elisp-mode-ielm-repl ()
+ "Open the Emacs Lisp REPL (`ielm')."
+ (interactive)
+ (pop-to-buffer (get-buffer-create "*ielm*"))
+ (ielm))
+
;;;###autoload
(defun evil-collection-elisp-mode-setup ()
"Set up `evil' bindings for `elisp-mode'."
(unless evil-move-beyond-eol
(advice-add 'eval-print-last-sexp :around 'evil-collection-elisp-mode-last-sexp))
(advice-add 'last-sexp-setup-props
- :override 'evil-collection-elisp-mode-last-sexp-setup-props))
+ :override 'evil-collection-elisp-mode-last-sexp-setup-props)
+
+ (evil-set-initial-state 'emacs-lisp-mode 'normal)
+ (evil-collection-define-key 'normal 'emacs-lisp-mode-map
+ "gz" 'evil-collection-elisp-mode-ielm-repl))
(provide 'evil-collection-elisp-mode)
;;; evil-collection-elisp-mode.el ends here