From d06720bcafacd9d6c0384302f61e61ff997ac3c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haris=20Gu=C5=A1i=C4=87?= Date: Thu, 4 Jan 2024 01:52:11 +0100 Subject: [PATCH] emacs: ielm: Improve behavior of RET key --- emacs.org | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/emacs.org b/emacs.org index 1d7c7c0..3b19b36 100644 --- a/emacs.org +++ b/emacs.org @@ -523,8 +523,24 @@ Some custom keybindings are defined here as well. *** Ielm #+NAME: ielm #+begin_src elisp + (setq ielm-dynamic-return nil) + ;; Use RET to execute command even in normal mode - (evil-define-key 'normal ielm-map (kbd "RET") 'ielm-return) + (evil-define-key 'normal ielm-map (kbd "RET") #'ielm-send-input) + + ;; Make RET in insert mode insert newline at point, unless the + ;; point is at the end of the line, in which case send input. + (defun haris/ielm-insert-mode-return () + "Insert newline at point" + (interactive) + (if (= (point) + (save-excursion + (end-of-visual-line) + (point))) + (ielm-send-input) + (ielm-return))) + + (evil-define-key 'insert ielm-map (kbd "RET") #'haris/ielm-insert-mode-return) #+end_src #+begin_src elisp :tangle (haris/tangle-home ".emacs.d/haris/irc.el") :exports none <>