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

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

[nongnu] elpa/cider 1203129ba2 4/4: Inspector: Introduce jump to previou


From: ELPA Syncer
Subject: [nongnu] elpa/cider 1203129ba2 4/4: Inspector: Introduce jump to previous/next sibling commands
Date: Tue, 24 Oct 2023 13:00:27 -0400 (EDT)

branch: elpa/cider
commit 1203129ba24aaa85b54914eebc96daf896229b22
Author: vemv <vemv@users.noreply.github.com>
Commit: vemv <vemv@users.noreply.github.com>

    Inspector: Introduce jump to previous/next sibling commands
    
    Fixes https://github.com/clojure-emacs/cider/issues/3529
---
 CHANGELOG.md                                    |  4 +++
 cider-inspector.el                              | 35 ++++++++++++++++++++++++-
 doc/modules/ROOT/pages/debugging/inspector.adoc | 23 ++++++++++++++--
 3 files changed, 59 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index ecbb5cb992..dbf1dfe035 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,10 @@
 
 ## master (unreleased)
 
+### New features
+
+- [#3529](https://github.com/clojure-emacs/cider/issues/3529): CIDER 
inspector: introduce `cider-inspector-previous-sibling`, 
`cider-inspector-next-sibling` commands 
([doc](https://docs.cider.mx/cider/debugging/inspector.html#usage)).
+
 ### Changes
 
 - [#3546](https://github.com/clojure-emacs/cider/issues/3546): Inspector: 
render Java items using `java-mode` syntax coloring.
diff --git a/cider-inspector.el b/cider-inspector.el
index ef538faa6e..fedca2e496 100644
--- a/cider-inspector.el
+++ b/cider-inspector.el
@@ -113,6 +113,8 @@ by clicking or navigating to them by other means."
     (define-key map "p" #'cider-inspector-previous-inspectable-object)
     (define-key map "f" #'forward-char)
     (define-key map "b" #'backward-char)
+    (define-key map "9" #'cider-inspector-previous-sibling)
+    (define-key map "0" #'cider-inspector-next-sibling)
     ;; Emacs translates S-TAB to BACKTAB on X.
     (define-key map [backtab] #'cider-inspector-previous-inspectable-object)
     (easy-menu-define cider-inspector-mode-menu map
@@ -223,8 +225,27 @@ See `cider-sync-request:inspect-pop' and 
`cider-inspector--render-value'."
 (defun cider-inspector-push (idx)
   "Inspect the value at IDX in the inspector stack and render it.
 See `cider-sync-request:inspect-push' and `cider-inspector--render-value'"
-  (push (point) cider-inspector-location-stack)
+  (interactive)
   (when-let* ((value (cider-sync-request:inspect-push idx)))
+    (push (point) cider-inspector-location-stack)
+    (cider-inspector--render-value value)
+    (cider-inspector-next-inspectable-object 1)))
+
+(defun cider-inspector-previous-sibling ()
+  "Inspect the previous sibling value within a sequential parent.
+See `cider-sync-request:inspect-previous-sibling' and 
`cider-inspector--render-value'"
+  (interactive)
+  (when-let* ((value (cider-sync-request:inspect-previous-sibling)))
+    (push (point) cider-inspector-location-stack)
+    (cider-inspector--render-value value)
+    (cider-inspector-next-inspectable-object 1)))
+
+(defun cider-inspector-next-sibling ()
+  "Inspect the next sibling value within a sequential parent.
+See `cider-sync-request:inspect-next-sibling' and 
`cider-inspector--render-value'"
+  (interactive)
+  (when-let* ((value (cider-sync-request:inspect-next-sibling)))
+    (push (point) cider-inspector-location-stack)
     (cider-inspector--render-value value)
     (cider-inspector-next-inspectable-object 1)))
 
@@ -321,6 +342,18 @@ current-namespace."
                 (cider-nrepl-send-sync-request cider-inspector--current-repl)
                 (nrepl-dict-get "value")))
 
+(defun cider-sync-request:inspect-previous-sibling ()
+  "Inspect the previous sibling value within a sequential parent."
+  (thread-first `("op" "inspect-previous-sibling")
+                (cider-nrepl-send-sync-request cider-inspector--current-repl)
+                (nrepl-dict-get "value")))
+
+(defun cider-sync-request:inspect-next-sibling ()
+  "Inspect the next sibling value within a sequential parent."
+  (thread-first `("op" "inspect-next-sibling")
+                (cider-nrepl-send-sync-request cider-inspector--current-repl)
+                (nrepl-dict-get "value")))
+
 (defun cider-sync-request:inspect-refresh ()
   "Re-render the currently inspected value."
   (thread-first '("op" "inspect-refresh")
diff --git a/doc/modules/ROOT/pages/debugging/inspector.adoc 
b/doc/modules/ROOT/pages/debugging/inspector.adoc
index 3a6509afa2..400e22d4e1 100644
--- a/doc/modules/ROOT/pages/debugging/inspector.adoc
+++ b/doc/modules/ROOT/pages/debugging/inspector.adoc
@@ -26,40 +26,59 @@ You'll have access to additional keybindings in the 
inspector buffer
 (which is internally using `cider-inspector-mode`):
 
 |===
-| Keyboard shortcut | Description
+| Keyboard shortcut | Command | Description
 
-| kbd:[Tab] and kbd:[Shift-Tab] / kdb:[n] and kbd:[p]
+| kbd:[Tab] and kbd:[Shift-Tab] / kbd:[n] and kbd:[p]
+| `cider-inspector-next-inspectable-object`
 | Navigate inspectable sub-objects
 
 | kbd:[f] and kbd:[b]
+| `forward-char`, `backward-char`
 | Navigate across characters on a line
 
 | kbd:[Return]
+| `cider-inspector-operate-on-point`
 | Inspect sub-objects
 
 | kbd:[l]
+| `cider-inspector-pop`
 | Pop to the parent object
 
 | kbd:[g]
+| `cider-inspector-refresh`
 | Refresh the inspector (e.g. if viewing an atom/ref/agent)
 
 | kbd:[SPC]
+| `cider-inspector-next-page`
 | Jump to next page in paginated view
 
 | kbd:[M-SPC]
+| `cider-inspector-prev-page`
 | Jump to previous page in paginated view
 
 | kbd:[s]
+| `cider-inspector-set-page-size`
 | Set a new page size in paginated view
 
 | kbd:[c]
+| `cider-inspector-set-max-coll-size`
 | Set a new maximum size above which nested collections are truncated
 
 | kbd:[a]
+| `cider-inspector-set-max-atom-length`
 | Set a new maximum length above which nested atoms (non-collections) are 
truncated
 
 | kbd:[d]
+| `cider-inspector-def-current-val`
 | Defines a var in the REPL namespace with current inspector value. If you 
tend to always choose the same name(s), you may want to set the 
`cider-inspector-preferred-var-names` customization option.
+
+| kbd:[9]
+| `cider-inspector-previous-sibling`
+| Navigates to the previous sibling, within a sequential collection.
+
+| kbd:[0]
+| `cider-inspector-next-sibling`
+| Navigates to the next sibling, within a sequential collection.
 |===
 
 == Configuration



reply via email to

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