Function: cider-find-inspectable-object

cider-find-inspectable-object is a byte-compiled function defined in cider-inspector.el.

Signature

(cider-find-inspectable-object DIRECTION LIMIT)

Documentation

Find the next/previous inspectable object.

DIRECTION can be either next or prev. LIMIT is the maximum or minimum position in the current buffer.

Return a list of two values: If an object could be found, the starting position of the found object and T is returned; otherwise LIMIT and NIL is returned.

Source Code

;; Defined in ~/.emacs.d/elpa/cider-20260414.1619/cider-inspector.el
;; ===================================================
;; Inspector Navigation (lifted from SLIME inspector)
;; ===================================================

(defun cider-find-inspectable-object (direction limit)
  "Find the next/previous inspectable object.
DIRECTION can be either `next' or `prev'.
LIMIT is the maximum or minimum position in the current buffer.

Return a list of two values: If an object could be found, the
starting position of the found object and T is returned;
otherwise LIMIT and NIL is returned."
  (let ((finder (pcase direction
                  ('next 'next-single-property-change)
                  ('prev 'previous-single-property-change)
                  (_ (error "Invalid direction: %s" direction)))))
    (let ((prop nil) (curpos (point)))
      (while (and (not prop) (not (= curpos limit)))
        (let ((newpos (funcall finder curpos 'cider-value-idx nil limit)))
          (setq prop (get-text-property newpos 'cider-value-idx))
          (setq curpos newpos)))
      (list curpos (and prop t)))))