Function: combobulate--display-tree-node
combobulate--display-tree-node is a natively compiled function defined
in combobulate-display.el.
Signature
(combobulate--display-tree-node CTX)
Source Code
;; Defined in /nix/store/b5fvrwzi3zvkabyzx0in6gw1cj963z46-emacs-packages-deps/share/emacs/site-lisp/combobulate-display.el
(defun combobulate--display-tree-node (ctx)
(let-alist combobulate-display-glyphs
(or (pcase ctx
;; interstitial nodes
(`((:prev-sibling . t)
(:next-sibling . t))
.vbar)
(`((:prev-sibling . nil)
(:next-sibling . t))
.spacer)
(`((:prev-sibling . t)
(:next-sibling . nil))
.spacer)
(`((:prev-sibling . nil)
(:next-sibling . nil))
.spacer)
;; leaf nodes
;; ----------
;; maybe parents, but no siblings
(`((:parents . ,parents)
(:prev-sibling . nil)
(:next-sibling . nil))
(if (> parents 0)
(concat .prev-sibling .hbar)
(concat .spacer .hbar)))
;; maybe parents, but one next sibling
(`((:parents . ,parents)
(:prev-sibling . nil)
(:next-sibling . t))
(if (> parents 0)
(concat .prev-next-sibling .hbar)
(concat .next-sibling .hbar)))
;; maybe parents, but one previous sibling
(`((:parents . ,_)
(:prev-sibling . t)
(:next-sibling . nil))
(concat .prev-sibling .hbar))
;; maybe parents, both siblings
(`((:parents . ,_)
(:prev-sibling . t)
(:next-sibling . t))
(concat .prev-next-sibling .hbar)))
;; fallback
.spacer)))