Function: combobulate-display--draw-node

combobulate-display--draw-node is a natively compiled function defined in combobulate-display.el.

Signature

(combobulate-display--draw-node LOC &optional HIGHLIGHTED)

Documentation

Draws a navigation node NODE, and optionally HIGHLIGHTED, with tree guides

Source Code

;; Defined in /nix/store/b5fvrwzi3zvkabyzx0in6gw1cj963z46-emacs-packages-deps/share/emacs/site-lisp/combobulate-display.el
(defun combobulate-display--draw-node (loc &optional highlighted)
  "Draws a navigation node NODE, and optionally HIGHLIGHTED, with tree guides"
  (let ((guides)
        (parents (combobulate-display-tree-parents loc))
        (ctx (combobulate-display--determine-tree-node-context loc)))
    (dotimes (offset (length parents))
      (push (concat (combobulate--display-tree-node
                     (combobulate-display--determine-parent-tree-node-context
                      (nth offset parents)))
                    (alist-get 'spacer combobulate-display-glyphs))
            guides))
    (let ((node-text (combobulate-pretty-print-node (combobulate-ztree-node loc))))
      (string-join
       (list
        (propertize (apply 'concat guides) 'face 'combobulate-tree-branch-face)
        (propertize (combobulate--display-tree-node ctx) 'face 'combobulate-tree-branch-face)
        (propertize "" 'face 'combobulate-tree-branch-face)
        (propertize (string-trim node-text) 'face
                    (cond
                     ((and (not (combobulate-ztree-branch-p loc))
                           (combobulate-node-in-region-p (combobulate-ztree-node loc)))
                      'highlight)
                     (highlighted 'combobulate-tree-highlighted-node-face)
                     (t 'combobulate-tree-normal-node-face))))
       ""))))