diff options
author | Alexander Yakushev <alex@bytopia.org> | 2015-07-17 21:07:25 +0300 |
---|---|---|
committer | Alexander Yakushev <alex@bytopia.org> | 2015-07-18 15:42:35 +0300 |
commit | 969063f0ceb1187f5da76cfea7336bf4e20b5f19 (patch) | |
tree | 23edb6bf327db61f574d58e44cebbb3a59a6746b /cider-inspector.el | |
parent | 13bf8efcb0925bb143d3be2ebb50d338304912eb (diff) |
Add pagination of long collections to inspector
Diffstat (limited to 'cider-inspector.el')
-rw-r--r-- | cider-inspector.el | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/cider-inspector.el b/cider-inspector.el index b1867ca1..e61d025f 100644 --- a/cider-inspector.el +++ b/cider-inspector.el @@ -46,6 +46,9 @@ (define-key map [mouse-1] #'cider-inspector-operate-on-click) (define-key map "l" #'cider-inspector-pop) (define-key map "g" #'cider-inspector-refresh) + (define-key map "SPC" #'cider-inspector-next-page) + (define-key map "M-SPC" #'cider-inspector-prev-page) + (define-key map "s" #'cider-inspector-set-page-size) (define-key map [tab] #'cider-inspector-next-inspectable-object) (define-key map "\C-i" #'cider-inspector-next-inspectable-object) (define-key map [(shift tab)] #'cider-inspector-previous-inspectable-object) ; Emacs translates S-TAB @@ -124,6 +127,34 @@ Used for all inspector nREPL ops." "session" (nrepl-current-session)) (cider-inspector-response-handler (current-buffer)))) +(defun cider-inspector-next-page () + "Jump to the next page when inspecting a paginated sequence/map. + +Does nothing if already on the last page." + (interactive) + (nrepl-send-request (list "op" "inspect-next-page" + "session" (nrepl-current-session)) + (cider-inspector-response-handler (current-buffer)))) + +(defun cider-inspector-prev-page () + "Jump to the previous page when expecting a paginated sequence/map. + +Does nothing if already on the first page." + (interactive) + (nrepl-send-request (list "op" "inspect-prev-page" + "session" (nrepl-current-session)) + (cider-inspector-response-handler (current-buffer)))) + +(defun cider-inspector-set-page-size (page-size) + "Set the page size in pagination mode to the specified value. + +Current page will be reset to zero." + (interactive "nPage size:") + (nrepl-send-request (list "op" "inspect-set-page-size" + "session" (nrepl-current-session) + "page-size" page-size) + (cider-inspector-response-handler (current-buffer)))) + ;; Render Inspector from Structured Values (defun cider-irender (buffer str) (with-current-buffer buffer |