Function: treemacs--create-branch--inliner
treemacs--create-branch--inliner is a function defined in
treemacs-rendering.el.
Signature
(treemacs--create-branch--inliner INLINE--FORM ROOT DEPTH GIT-FUTURE FLATTEN-FUTURE &optional PARENT)
Source Code
;; Defined in ~/.emacs.d/elpa/treemacs-20251226.1307/treemacs-rendering.el
;; Closure converted to defun by helpful.
(defun treemacs--create-branch--inliner
(inline--form root depth git-future flatten-future &optional parent)
(ignore inline--form)
(catch 'inline--just-use
(let*
((exp root)
(root
(if
(macroexp-copyable-p exp)
exp
(make-symbol "root")))
(body
(let*
((exp depth)
(depth
(if
(macroexp-copyable-p exp)
exp
(make-symbol "depth")))
(body
(let*
((exp git-future)
(git-future
(if
(macroexp-copyable-p exp)
exp
(make-symbol "git-future")))
(body
(let*
((exp flatten-future)
(flatten-future
(if
(macroexp-copyable-p exp)
exp
(make-symbol "flatten-future")))
(body
(let*
((exp parent)
(parent
(if
(macroexp-copyable-p exp)
exp
(make-symbol "parent")))
(body
(list 'save-excursion
(list 'let*
(list
(list 'dirs-and-files
(list 'treemacs--get-dir-content root))
(list 'dirs
(list 'car 'dirs-and-files))
(list 'files
(list 'cadr 'dirs-and-files))
(list 'parent-node
(list 'treemacs-find-in-dom root))
(list 'dir-dom-nodes)
(list 'file-dom-nodes)
(list 'git-info)
(list 'file-strings)
(list 'dir-strings))
(list 'setq 'dir-strings
(list 'treemacs--create-buttons :nodes 'dirs :depth depth :node-name 'node :node-action
(list 'treemacs--create-dir-button-strings 'node 'prefix parent depth)))
(list 'setq 'file-strings
(list 'treemacs--create-buttons :nodes 'files :depth depth :node-name 'node :node-action
(list 'treemacs--create-file-button-strings 'node 'prefix parent depth)))
(list 'end-of-line)
(list 'pcase 'treemacs--git-mode
(list
(list 'or
(list 'quote 'simple)
(list 'quote 'extended))
(list 'setf 'git-info
(list 'treemacs--get-or-parse-git-result git-future))
(list 'ht-set! 'treemacs--git-cache root 'git-info))
(list
(list 'quote 'deferred)
(list 'setf 'git-info
(list 'or
(list 'ht-get 'treemacs--git-cache root)
'treemacs--empty-table)))
(list '_
(list 'setf 'git-info 'treemacs--empty-table)))
(list 'run-with-timer 0.5 nil
(list 'function 'treemacs--apply-annotations-deferred)
parent root
(list 'current-buffer)
git-future)
(list 'if 'treemacs-pre-file-insert-predicates
(list 'progn
(list '-let
[result nil]
(list 'while 'file-strings
(list 'let*
(list
(list 'prefix
(list 'car 'file-strings))
(list 'icon
(list 'cadr 'file-strings))
(list 'filename
(list 'caddr 'file-strings))
(list 'filepath
(list 'concat root "/" 'filename)))
(list 'unless
(list '--any\?
(list 'funcall 'it 'filepath 'git-info)
'treemacs-pre-file-insert-predicates)
(list 'setq 'result
(list 'cons 'filename
(list 'cons 'icon
(list 'cons 'prefix 'result))))
(list 'push
(list 'treemacs-dom-node->create! :parent 'parent-node :key 'filepath)
'file-dom-nodes)))
(list 'setq 'file-strings
(list 'cdddr 'file-strings)))
(list 'setq 'file-strings
(list 'nreverse 'result)))
(list '-let
[result nil]
(list 'while 'dir-strings
(list 'let*
(list
(list 'prefix
(list 'car 'dir-strings))
(list 'icon
(list 'cadr 'dir-strings))
(list 'dirname
(list 'caddr 'dir-strings))
(list 'dirpath
(list 'concat root "/" 'dirname)))
(list 'unless
(list '--any\?
(list 'funcall 'it 'dirpath 'git-info)
'treemacs-pre-file-insert-predicates)
(list 'setq 'result
(list 'cons 'dirname
(list 'cons 'icon
(list 'cons 'prefix 'result))))
(list 'push
(list 'treemacs-dom-node->create! :parent 'parent-node :key 'dirpath)
'dir-dom-nodes)))
(list 'setq 'dir-strings
(list 'cdddr 'dir-strings)))
(list 'setq 'dir-strings
(list 'nreverse 'result))))
(list 'setf 'file-dom-nodes
(list '--map
(list 'treemacs-dom-node->create! :parent 'parent-node :key 'it)
'files)
'dir-dom-nodes
(list '--map
(list 'treemacs-dom-node->create! :parent 'parent-node :key 'it)
'dirs)))
(list 'setf
(list 'treemacs-dom-node->children 'parent-node)
(list 'nconc 'dir-dom-nodes 'file-dom-nodes
(list 'treemacs-dom-node->children 'parent-node)))
(list 'dolist
(list 'it
(list 'treemacs-dom-node->children 'parent-node))
(list 'treemacs-dom-node->insert-into-dom! 'it))
(list 'setf 'dir-strings
(list 'treemacs--inplace-map-when-unrolled 'dir-strings 3
(list '-if-let*
(list
(list 'ann
(list 'treemacs-get-annotation
(list 'concat root "/" 'it)))
(list 'face
(list 'treemacs-annotation->face-value 'ann)))
(list 'progn
(list 'put-text-property 0
(list 'length 'it)
(list 'quote 'face)
'face 'it)
(list 'concat 'it
(list 'treemacs-annotation->suffix-value 'ann)))
(list 'put-text-property 0
(list 'length 'it)
(list 'quote 'face)
(list 'quote 'treemacs-directory-face)
'it)
'it)))
(list 'insert
(list 'apply
(list 'function 'concat)
'dir-strings))
(list 'end-of-line)
(list 'setf 'file-strings
(list 'treemacs--inplace-map-when-unrolled 'file-strings 3
(list '-if-let*
(list
(list 'ann
(list 'treemacs-get-annotation
(list 'concat root "/" 'it)))
(list 'face
(list 'treemacs-annotation->face-value 'ann)))
(list 'progn
(list 'put-text-property 0
(list 'length 'it)
(list 'quote 'face)
'face 'it)
(list 'concat 'it
(list 'treemacs-annotation->suffix-value 'ann)))
(list 'put-text-property 0
(list 'length 'it)
(list 'quote 'face)
(list 'quote 'treemacs-git-unmodified-face)
'it)
'it)))
(list 'insert
(list 'apply
(list 'function 'concat)
'file-strings))
(list 'save-excursion
(list 'treemacs--flatten-dirs
(list 'treemacs--parse-flattened-dirs root flatten-future))
(list 'treemacs--reentry root git-future flatten-future))
(list 'with-no-warnings
(list 'line-end-position))))))
(if
(eq parent exp)
body
(macroexp-let*
(list
(list parent exp))
body)))))
(if
(eq flatten-future exp)
body
(macroexp-let*
(list
(list flatten-future exp))
body)))))
(if
(eq git-future exp)
body
(macroexp-let*
(list
(list git-future exp))
body)))))
(if
(eq depth exp)
body
(macroexp-let*
(list
(list depth exp))
body)))))
(if
(eq root exp)
body
(macroexp-let*
(list
(list root exp))
body)))))