Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[inspector] Use inspect-refresh op for dynamic configuration updates #3691

Merged
merged 1 commit into from
Jun 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

### Changes

- [#3691](https://github.com/clojure-emacs/cider/pull/3691): Deprecate `cider-sync-request:inspect-set-*` functions in favor of generic `inspect-refresh` op.
- Bump the injected `cider-nrepl` to [0.49.0](https://github.com/clojure-emacs/cider-nrepl/blob/master/CHANGELOG.md#0490-2024-06-02).

### Bugs fixed
Expand Down
32 changes: 17 additions & 15 deletions cider-inspector.el
Original file line number Diff line number Diff line change
Expand Up @@ -294,13 +294,19 @@ See `cider-sync-request:inspect-next-sibling' and `cider-inspector--render-value
(cider-inspector--render-value result 'v2)
(cider-inspector-next-inspectable-object 1))))

(defun cider-inspector--refresh-with-opts (&rest opts)
"Invokes `inspect-refresh' op with supplied extra OPTS.
Re-renders the currently inspected value."
(let ((result (cider-nrepl-send-sync-request `("op" "inspect-refresh" ,@opts)
cider-inspector--current-repl)))
(when (nrepl-dict-get result "value")
(cider-inspector--render-value result 'v2))))

(defun cider-inspector-refresh ()
"Re-render the currently inspected value.
See `cider-sync-request:inspect-refresh' and `cider-inspector--render-value'"
(interactive)
(let ((result (cider-sync-request:inspect-refresh 'v2)))
(when (nrepl-dict-get result "value")
(cider-inspector--render-value result 'v2))))
(cider-inspector--refresh-with-opts))

(defun cider-inspector-next-page ()
"Jump to the next page when inspecting a paginated sequence/map.
Expand All @@ -327,32 +333,24 @@ Does nothing if already on the first page."

Current page will be reset to zero."
(interactive (list (read-number "Page size: " cider-inspector-page-size)))
(let ((result (cider-sync-request:inspect-set-page-size page-size 'v2)))
(when (nrepl-dict-get result "value")
(cider-inspector--render-value result 'v2))))
(cider-inspector--refresh-with-opts "page-size" page-size))

(defun cider-inspector-set-max-atom-length (max-length)
"Set the max length of nested atoms to MAX-LENGTH."
(interactive (list (read-number "Max atom length: " cider-inspector-max-atom-length)))
(let ((result (cider-sync-request:inspect-set-max-atom-length max-length 'v2)))
(when (nrepl-dict-get result "value")
(cider-inspector--render-value result 'v2))))
(cider-inspector--refresh-with-opts "max-atom-length" max-length))

(defun cider-inspector-set-max-coll-size (max-size)
"Set the number of nested collection members to display before truncating.
MAX-SIZE is the new value."
(interactive (list (read-number "Max collection size: " cider-inspector-max-coll-size)))
(let ((result (cider-sync-request:inspect-set-max-coll-size max-size 'v2)))
(when (nrepl-dict-get result "value")
(cider-inspector--render-value result 'v2))))
(cider-inspector--refresh-with-opts "max-coll-size" max-size))

(defun cider-inspector-set-max-nested-depth (max-nested-depth)
"Set the level of nesting for collections to display beflore truncating.
MAX-NESTED-DEPTH is the new value."
(interactive (list (read-number "Max nested depth: " cider-inspector-max-nested-depth)))
(let ((result (cider-sync-request:inspect-set-max-nested-depth max-nested-depth 'v2)))
(when (nrepl-dict-get result "value")
(cider-inspector--render-value result 'v2))))
(cider-inspector--refresh-with-opts "max-nested-depth" max-nested-depth))

(defun cider-inspector-toggle-view-mode ()
"Toggle the view mode of the inspector between normal and object view mode."
Expand Down Expand Up @@ -515,6 +513,7 @@ instead of just its \"value\" entry."
"Set the page size in paginated view to PAGE-SIZE,
V2 indicates if the entire response should be returned
instead of just its \"value\" entry."
(declare (obsolete "use `inspect-refresh' op instead." "1.15.0"))
(let ((result (thread-first `("op" "inspect-set-page-size"
"page-size" ,page-size)
(cider-nrepl-send-sync-request cider-inspector--current-repl))))
Expand All @@ -526,6 +525,7 @@ instead of just its \"value\" entry."
"Set the max length of nested atoms to MAX-LENGTH,
V2 indicates if the entire response should be returned
instead of just its \"value\" entry."
(declare (obsolete "use `inspect-refresh' op instead." "1.15.0"))
(let ((result (thread-first `("op" "inspect-set-max-atom-length"
"max-atom-length" ,max-length)
(cider-nrepl-send-sync-request cider-inspector--current-repl))))
Expand All @@ -537,6 +537,7 @@ instead of just its \"value\" entry."
"Set the number of nested collection members to display before truncating.
MAX-SIZE is the new value, V2 indicates if the entire response should be returned
instead of just its \"value\" entry."
(declare (obsolete "use `inspect-refresh' op instead." "1.15.0"))
(let ((result (thread-first `("op" "inspect-set-max-coll-size"
"max-coll-size" ,max-size)
(cider-nrepl-send-sync-request cider-inspector--current-repl))))
Expand All @@ -548,6 +549,7 @@ instead of just its \"value\" entry."
"Set the level of nesting for collections to display before truncating.
MAX-NESTED-DEPTH is the new value, V2 indicates if the entire response should be returned
instead of just its \"value\" entry."
(declare (obsolete "use `inspect-refresh' op instead." "1.15.0"))
(let ((result (thread-first `("op" "inspect-set-max-nested-depth"
"max-nested-depth" ,max-nested-depth)
(cider-nrepl-send-sync-request cider-inspector--current-repl))))
Expand Down
Loading