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

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

[nongnu] elpa/geiser-kawa e0fd1de 084/119: Refactor geiser-kawa-devutil-


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-kawa e0fd1de 084/119: Refactor geiser-kawa-devutil-exprtree.el
Date: Sun, 1 Aug 2021 18:30:43 -0400 (EDT)

branch: elpa/geiser-kawa
commit e0fd1de6b14b3d0f008a4c349fd01149cecb279b
Author: spellcard199 <spellcard199@protonmail.com>
Commit: spellcard199 <spellcard199@protonmail.com>

    Refactor geiser-kawa-devutil-exprtree.el
---
 elisp/geiser-kawa-devutil-exprtree.el | 40 ++++++++++++++++++++++-------------
 elisp/tests/test-geiser-kawa.el       |  2 +-
 2 files changed, 26 insertions(+), 16 deletions(-)

diff --git a/elisp/geiser-kawa-devutil-exprtree.el 
b/elisp/geiser-kawa-devutil-exprtree.el
index 6cb2728..361f33b 100644
--- a/elisp/geiser-kawa-devutil-exprtree.el
+++ b/elisp/geiser-kawa-devutil-exprtree.el
@@ -33,25 +33,35 @@
   (view-buffer-other-window
    geiser-kawa-devutil-exprtree-buffer))
 
-(defun geiser-kawa-devutil-exprtree--for-expression (code-str)
-  "Get the Expression tree CODE-STR."
+(defun geiser-kawa-devutil-exprtree--for (code-str)
+  "Get the Expression tree for CODE-STR."
   (geiser-kawa-util--eval-to-res
    `(geiser:kawa-devutil-expr-tree-formatted ,code-str)))
 
-(defun geiser-kawa-devutil-exprtree-sexp ()
-  "If region is active send region, otherwise send last expression."
+(defun geiser-kawa-devutil-exprtree--view-for (code-str)
+  "Get and view Expression tree for CODE-STR."
+  (geiser-kawa-devutil-exprtree--view
+   (geiser-kawa-devutil-exprtree--for
+    code-str)))
+
+(defun geiser-kawa-devutil-exprtree-region (reg-beg reg-end)
+  "View Exprtree for region.
+Argument REG-BEG is beginning of region.
+Argument REG-END is end of region."
+  (interactive "r")
+  (let ((code-str (buffer-substring-no-properties
+                   reg-beg reg-end)))
+    (geiser-kawa-devutil-exprtree--view-for code-str)))
+
+(defun geiser-kawa-devutil-exprtree-last-sexp ()
+  "View Exprtree for sexp before (point)."
   (interactive)
-  (let* ((code-str
-          (if (region-active-p)
-              (buffer-substring-no-properties (region-beginning)
-                                              (region-end))
-            (save-excursion
-              (let ((sexp-beg (progn (backward-sexp) (point)))
-                    (sexp-end (progn (forward-sexp) (point))))
-                (buffer-substring-no-properties sexp-beg sexp-end)))))
-         (expr-tree (geiser-kawa-devutil-exprtree--for-expression
-                     code-str)))
-    (geiser-kawa-devutil-exprtree--view expr-tree)))
+  (let ((code-str
+         (save-excursion
+           (let ((sexp-beg (progn (backward-sexp) (point)))
+                 (sexp-end (progn (forward-sexp) (point))))
+             (buffer-substring-no-properties sexp-beg sexp-end)))))
+    (geiser-kawa-devutil-exprtree--view-for code-str)))
 
 (provide 'geiser-kawa-devutil-exprtree)
 
diff --git a/elisp/tests/test-geiser-kawa.el b/elisp/tests/test-geiser-kawa.el
index 62e593a..3a7eacc 100644
--- a/elisp/tests/test-geiser-kawa.el
+++ b/elisp/tests/test-geiser-kawa.el
@@ -90,7 +90,7 @@
  (it "can `geiser-kawa-devutil-exprtree--for-expression'"
      (expect
       (string-suffix-p "SimpleSymbol)))"
-                       (geiser-kawa-devutil-exprtree--for-expression
+                       (geiser-kawa-devutil-exprtree--for
                         "(display 'foobar)")))
      :to-equal t)
 



reply via email to

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