Function: cider-tree-view--insert-node

cider-tree-view--insert-node is a byte-compiled function defined in cider-tree-view.el.

Signature

(cider-tree-view--insert-node NODE DEPTH)

Documentation

Insert NODE at indentation DEPTH, recursing into expanded children.

Source Code

;; Defined in ~/.emacs.d/elpa/cider-20260822.1520/cider-tree-view.el
(defun cider-tree-view--insert-node (node depth)
  "Insert NODE at indentation DEPTH, recursing into expanded children."
  (let* ((expandable (cider-tree-view-node-expandable-p node))
         (indicator (cond ((not expandable) "  ")
                          ((cider-tree-view-node-expanded node) "▾ ")
                          (t "▸ ")))
         (start (point)))
    (insert (make-string (* 2 depth) ?\s)
            (propertize indicator 'face 'shadow))
    (let ((label-start (point)))
      (insert (cider-tree-view-node-label node))
      (when (cider-tree-view-node-on-visit node)
        (put-text-property label-start (point) 'mouse-face 'highlight)
        (put-text-property label-start (point) 'keymap cider-tree-view--node-keymap)))
    (insert "\n")
    (put-text-property start (point) 'cider-tree-view-node node)
    (when (and expandable (cider-tree-view-node-expanded node))
      (dolist (child (cider-tree-view--children node))
        (cider-tree-view--insert-node child (1+ depth))))))