emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/inf-clojure 0697d6f 233/313: Add insert last sexp and keym


From: ELPA Syncer
Subject: [nongnu] elpa/inf-clojure 0697d6f 233/313: Add insert last sexp and keymap to hold them all
Date: Wed, 11 Aug 2021 10:00:24 -0400 (EDT)

branch: elpa/inf-clojure
commit 0697d6f361e8d834e6f10c361eb4ab4722eefeed
Author: dan sutton <dan@dpsutton.com>
Commit: Bozhidar Batsov <bozhidar.batsov@gmail.com>

    Add insert last sexp and keymap to hold them all
---
 inf-clojure.el | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/inf-clojure.el b/inf-clojure.el
index 740deb2..8aafb3a 100644
--- a/inf-clojure.el
+++ b/inf-clojure.el
@@ -125,6 +125,14 @@ mode.  Default is whitespace followed by 0 or 1 
single-letter colon-keyword
         ["Version" inf-clojure-display-version]))
     map))
 
+(defvar inf-clojure-insert-commands-map
+  (let ((map (define-prefix-command 'inf-clojure-insert-commands-map)))
+    (define-key map (kbd "d") #'inf-clojure-insert-defun)
+    (define-key map (kbd "C-d") #'inf-clojure-insert-defun)
+    (define-key map (kbd "e") #'inf-clojure-insert-last-sexp)
+    (define-key map (kbd "C-e") #'inf-clojure-insert-last-sexp)
+    map))
+
 (defvar inf-clojure-minor-mode-map
   (let ((map (make-sparse-keymap)))
     (define-key map "\M-\C-x"  #'inf-clojure-eval-defun)     ; Gnu convention
@@ -135,7 +143,7 @@ mode.  Default is whitespace followed by 0 or 1 
single-letter colon-keyword
     (define-key map "\C-c\C-r" #'inf-clojure-eval-region)
     (define-key map "\C-c\M-r" #'inf-clojure-reload)
     (define-key map "\C-c\C-n" #'inf-clojure-eval-form-and-next)
-    (define-key map (kbd "C-c C-j") #'inf-clojure-insert-defun)
+    (define-key map (kbd "C-c C-j") 'inf-clojure-insert-commands-map)
     (define-key map "\C-c\C-z" #'inf-clojure-switch-to-repl)
     (define-key map "\C-c\C-i" #'inf-clojure-show-ns-vars)
     (define-key map (kbd "C-c C-S-a") #'inf-clojure-apropos)
@@ -760,6 +768,13 @@ Indent FORM.  FORM is expected to have been trimmed."
   (interactive)
   (inf-clojure-insert-and-eval (string-trim (inf-clojure--defun-at-point))))
 
+(defun inf-clojure-insert-last-sexp ()
+  "Send last sexp to process."
+  (interactive)
+  (inf-clojure-insert-and-eval
+   (buffer-substring-no-properties (save-excursion (backward-sexp) (point))
+                                   (point))))
+
 
 ;;; Now that inf-clojure-eval-/defun/region takes an optional prefix arg,
 ;;; these commands are redundant. But they are kept around for the user



reply via email to

[Prev in Thread] Current Thread [Next in Thread]