Function: nrepl-log-pp-object
nrepl-log-pp-object is a byte-compiled function defined in
nrepl-client.el.
Signature
(nrepl-log-pp-object OBJECT &optional FOREGROUND BUTTON)
Documentation
Pretty print nREPL OBJECT, delimited using FOREGROUND.
If BUTTON is non-nil, try making a button from OBJECT instead of inserting it into the buffer.
Source Code
;; Defined in ~/.emacs.d/elpa/cider-20260414.1619/nrepl-client.el
(defun nrepl-log-pp-object (object &optional foreground button)
"Pretty print nREPL OBJECT, delimited using FOREGROUND.
If BUTTON is non-nil, try making a button from OBJECT instead of inserting
it into the buffer."
(let ((min-dict-fold-size 1)
(min-list-fold-size 10)
(min-string-fold-size 60))
(if-let* ((head (car-safe object)))
;; list-like objects
(cond
;; top level dicts (always expanded)
((memq head '(<-- -->))
(nrepl-log--pp-listlike object foreground button))
;; inner dicts
((eq head 'dict)
(if (and button (> (length object) min-dict-fold-size))
(nrepl-log-insert-button "(dict ...)" object)
(nrepl-log--pp-listlike object foreground button)))
;; lists
(t
(if (and button (> (length object) min-list-fold-size))
(nrepl-log-insert-button (format "(%s ...)" (prin1-to-string head)) object)
(pp object (current-buffer)))))
;; non-list objects
(if (stringp object)
(if (and button (> (length object) min-string-fold-size))
(nrepl-log-insert-button (format "\"%s...\"" (substring object 0 min-string-fold-size)) object)
(insert (prin1-to-string object) "\n"))
(pp object (current-buffer))
(insert "\n")))))