@@ -52,6 +52,21 @@ The page size can be also changed interactively within the inspector."
52
52
:group 'cider-inspector
53
53
:package-version '(cider . " 0.10.0" ))
54
54
55
+ (defcustom cider-inspector-max-atom-length 150
56
+ " Default max length of nested atoms before they are truncated.
57
+ 'Atom' here means any collection member that satisfies (complement coll?).
58
+ The max length can be also changed interactively within the inspector."
59
+ :type '(integer :tag " Max atom length" 150 )
60
+ :group 'cider-inspector
61
+ :package-version '(cider . " 1.1.0" ))
62
+
63
+ (defcustom cider-inspector-max-coll-size 5
64
+ " Default number of nested collection members to display before truncating.
65
+ The max size can be also changed interactively within the inspector."
66
+ :type '(integer :tag " Max collection size" 5 )
67
+ :group 'cider-inspector
68
+ :package-version '(cider . " 1.1.0" ))
69
+
55
70
(defcustom cider-inspector-fill-frame nil
56
71
" Controls whether the CIDER inspector window fills its frame."
57
72
:type 'boolean
@@ -93,6 +108,8 @@ by clicking or navigating to them by other means."
93
108
(define-key map (kbd " M-SPC" ) #'cider-inspector-prev-page )
94
109
(define-key map (kbd " S-SPC" ) #'cider-inspector-prev-page )
95
110
(define-key map " s" #'cider-inspector-set-page-size )
111
+ (define-key map " a" #'cider-inspector-set-max-atom-length )
112
+ (define-key map " c" #'cider-inspector-set-max-coll-size )
96
113
(define-key map " d" #'cider-inspector-def-current-val )
97
114
(define-key map [tab] #'cider-inspector-next-inspectable-object )
98
115
(define-key map " \C -i" #'cider-inspector-next-inspectable-object )
@@ -112,6 +129,8 @@ by clicking or navigating to them by other means."
112
129
[" Next Page" cider-inspector-next-page]
113
130
[" Previous Page" cider-inspector-prev-page]
114
131
[" Set Page Size" cider-inspector-set-page-size]
132
+ [" Set Max Atom Length" cider-inspector-set-max-atom-length]
133
+ [" Set Max Collection Size" cider-inspector-set-max-coll-size]
115
134
[" Define Var" cider-inspector-def-current-val]
116
135
" --"
117
136
[" Quit" cider-popup-buffer-quit-function]
@@ -187,7 +206,11 @@ current buffer's namespace."
187
206
(interactive (list (cider-read-from-minibuffer " Inspect expression: " (cider-sexp-at-point))
188
207
(cider-current-ns)))
189
208
(setq cider-inspector--current-repl (cider-current-repl))
190
- (when-let* ((value (cider-sync-request:inspect-expr expr ns (or cider-inspector-page-size 32 ))))
209
+ (when-let* ((value (cider-sync-request:inspect-expr
210
+ expr ns
211
+ cider-inspector-page-size
212
+ cider-inspector-max-atom-length
213
+ cider-inspector-max-coll-size)))
191
214
(cider-inspector--render-value value)))
192
215
193
216
(defun cider-inspector-pop ()
@@ -235,8 +258,20 @@ Does nothing if already on the first page."
235
258
" Set the page size in pagination mode to the specified PAGE-SIZE.
236
259
237
260
Current page will be reset to zero."
238
- (interactive " nPage size: " )
239
- (when-let* ((value (cider-sync-request:inspect-set-page-size page-size)))
261
+ (interactive (list (read-number " Page size: " cider-inspector-page-size)))
262
+ (when-let ((value (cider-sync-request:inspect-set-page-size page-size)))
263
+ (cider-inspector--render-value value)))
264
+
265
+ (defun cider-inspector-set-max-atom-length (max-length )
266
+ " Set the max length of nested atoms to MAX-LENGTH."
267
+ (interactive (list (read-number " Max atom length: " cider-inspector-max-atom-length)))
268
+ (when-let ((value (cider-sync-request:inspect-set-max-atom-length max-length)))
269
+ (cider-inspector--render-value value)))
270
+
271
+ (defun cider-inspector-set-max-coll-size (max-size )
272
+ " Set the number of nested collection members to display before truncating to MAX-SIZE."
273
+ (interactive (list (read-number " Max collection size: " cider-inspector-max-coll-size)))
274
+ (when-let ((value (cider-sync-request:inspect-set-max-coll-size max-size)))
240
275
(cider-inspector--render-value value)))
241
276
242
277
(defun cider-inspector-def-current-val (var-name ns )
@@ -291,6 +326,20 @@ current-namespace."
291
326
(cider-nrepl-send-sync-request cider-inspector--current-repl)
292
327
(nrepl-dict-get " value" )))
293
328
329
+ (defun cider-sync-request:inspect-set-max-atom-length (max-length )
330
+ " Set the max length of nested atoms to MAX-LENGTH."
331
+ (thread-first `(" op" " inspect-set-max-atom-length"
332
+ " max-atom-length" , max-length )
333
+ (cider-nrepl-send-sync-request cider-inspector--current-repl)
334
+ (nrepl-dict-get " value" )))
335
+
336
+ (defun cider-sync-request:inspect-set-max-coll-size (max-size )
337
+ " Set the number of nested collection members to display before truncating to MAX-SIZE."
338
+ (thread-first `(" op" " inspect-set-max-coll-size"
339
+ " max-coll-size" , max-size )
340
+ (cider-nrepl-send-sync-request cider-inspector--current-repl)
341
+ (nrepl-dict-get " value" )))
342
+
294
343
(defun cider-sync-request:inspect-def-current-val (ns var-name )
295
344
" Defines a var with VAR-NAME in NS with the current inspector value."
296
345
(thread-first `(" op" " inspect-def-current-value"
@@ -299,12 +348,19 @@ current-namespace."
299
348
(cider-nrepl-send-sync-request cider-inspector--current-repl)
300
349
(nrepl-dict-get " value" )))
301
350
302
- (defun cider-sync-request:inspect-expr (expr ns page-size )
351
+ (defun cider-sync-request:inspect-expr (expr ns page-size max-atom-length max-coll-size )
303
352
" Evaluate EXPR in context of NS and inspect its result.
304
- Set the page size in paginated view to PAGE-SIZE."
353
+ Set the page size in paginated view to PAGE-SIZE, maximum length of atomic
354
+ collection members to MAX-ATOM-LENGTH, and maximum size of nested collections to
355
+ MAX-COLL-SIZE if non nil."
305
356
(thread-first (append (nrepl--eval-request expr ns)
306
357
`(" inspect" " true"
307
- " page-size" , page-size ))
358
+ ,@(when page-size
359
+ `(" page-size" , page-size ))
360
+ ,@(when max-atom-length
361
+ `(" max-atom-length" , max-atom-length ))
362
+ ,@(when max-coll-size
363
+ `(" max-coll-size" , max-coll-size ))))
308
364
(cider-nrepl-send-sync-request cider-inspector--current-repl)
309
365
(nrepl-dict-get " value" )))
310
366
0 commit comments