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

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

[nongnu] elpa/cider 201811ecd9 1/9: Save eval results into custom regist


From: ELPA Syncer
Subject: [nongnu] elpa/cider 201811ecd9 1/9: Save eval results into custom register
Date: Wed, 27 Apr 2022 01:58:04 -0400 (EDT)

branch: elpa/cider
commit 201811ecd905d97e08d33e7d845336844410aa2a
Author: yuhan0 <qythium@gmail.com>
Commit: Bozhidar Batsov <bozhidar@batsov.dev>

    Save eval results into custom register
---
 cider-eval.el | 25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

diff --git a/cider-eval.el b/cider-eval.el
index e0f2e9a791..7c86321625 100644
--- a/cider-eval.el
+++ b/cider-eval.el
@@ -167,6 +167,15 @@ If t, save the file without confirmation."
   :group 'cider
   :package-version '(cider . "0.16.0"))
 
+(defcustom cider-eval-register ?e
+  "The text register assigned to the most recent evaluation result.
+When non-nil, the return value of all CIDER eval commands are
+automatically written into this register."
+  :type '(choice character
+                 (const nil))
+  :group 'cider
+  :package-version '(cider . "1.4.0"))
+
 
 ;;; Utilities
 
@@ -651,7 +660,9 @@ The handler simply inserts the result value in BUFFER."
     (nrepl-make-response-handler (or buffer eval-buffer)
                                  (lambda (_buffer value)
                                    (with-current-buffer buffer
-                                     (insert value)))
+                                     (insert value))
+                                   (when cider-eval-register
+                                     (set-register cider-eval-register value)) 
                                  )
                                  (lambda (_buffer out)
                                    (cider-repl-emit-interactive-stdout out))
                                  (lambda (_buffer err)
@@ -723,7 +734,9 @@ when `cider-auto-inspect-after-eval' is non-nil."
                                          
(cider--make-fringe-overlays-for-region beg end)
                                          (setq fringed t))
                                      (cider--make-fringe-overlay end))
-                                   (cider--display-interactive-eval-result 
value end))
+                                   (cider--display-interactive-eval-result 
value end)
+                                   (when cider-eval-register
+                                     (set-register cider-eval-register value)))
                                  (lambda (_buffer out)
                                    (cider-emit-interactive-eval-output out))
                                  (lambda (_buffer err)
@@ -768,7 +781,9 @@ Optional argument DONE-HANDLER lambda will be run once load 
is complete."
                                    (insert
                                     (if (derived-mode-p 
'cider-clojure-interaction-mode)
                                         (format "\n%s\n" value)
-                                      value))))
+                                      value)))
+                                 (when cider-eval-register
+                                   (set-register cider-eval-register value)))
                                (lambda (_buffer out)
                                  (cider-emit-interactive-eval-output out))
                                (lambda (_buffer err)
@@ -785,7 +800,9 @@ comment prefix to use."
                                    (save-excursion
                                      (goto-char (marker-position location))
                                      (insert (concat comment-prefix
-                                                     value "\n")))))
+                                                     value "\n"))))
+                                 (when cider-eval-register
+                                   (set-register cider-eval-register value)))
                                (lambda (_buffer out)
                                  (cider-emit-interactive-eval-output out))
                                (lambda (_buffer err)



reply via email to

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