Function: treemacs--follow-each-dir--inliner
treemacs--follow-each-dir--inliner is a function defined in
treemacs-core-utils.el.
Signature
(treemacs--follow-each-dir--inliner INLINE--FORM BTN DIR-PARTS PROJECT)
Source Code
;; Defined in ~/.emacs.d/elpa/treemacs-20251226.1307/treemacs-core-utils.el
;; Could not find source code, showing raw function object.
#[(inline--form btn dir-parts project)
((ignore inline--form)
(catch 'inline--just-use
(let*
((exp btn)
(btn (if (macroexp-copyable-p exp) exp (make-symbol "btn")))
(body
(let*
((exp dir-parts)
(dir-parts
(if (macroexp-copyable-p exp) exp
(make-symbol "dir-parts")))
(body
(let*
((exp project)
(project
(if (macroexp-copyable-p exp) exp
(make-symbol "project")))
(body
(list 'let*
(list
(list 'root
(list 'treemacs-button-get btn
:path))
(list 'git-future
(list
'treemacs--git-status-process
'root project))
(list 'last-index
(list '- (list 'length dir-parts)
1))
(list 'depth
(list 'treemacs-button-get btn
:depth)))
(list 'goto-char btn)
(list 'pcase
(list 'treemacs-button-get btn
:state)
(list
(list 'quote 'dir-node-closed)
(list 'treemacs--expand-dir-node
btn :git-future 'git-future))
(list
(list 'quote 'root-node-closed)
(list 'treemacs--expand-root-node
btn)))
(list 'catch (list 'quote 'follow-failed)
(list 'let
(list (list 'index 0)
(list 'dir-part nil))
(list 'while dir-parts
(list 'setq 'dir-part
(list 'pop
dir-parts)
'root
(list
'treemacs-join-path
'root 'dir-part)
btn
(list 'let
(list
'current-btn)
(list
'cl-block
'search
(list
'while
(list
'progn
(list
'goto-char
(list
'line-end-position))
(list
'search-forward
'dir-part
nil
:no-error))
(list
'setq
'current-btn
(list
'treemacs-current-button))
(list
'cond
(list
(list
'null
'current-btn)
(list
'cl-return-from
'search))
(list
(list
'treemacs-button-get
'current-btn
:custom))
(list
(list
'treemacs-is-path
'root
:same-as
(list
'treemacs-button-get
'current-btn
:path))
(list
'cl-return-from
'search
'current-btn))
(list
(list
'and
(list
'treemacs-button-get
'current-btn
:collapsed)
(list
'treemacs-is-path
(list
'treemacs-button-get
'current-btn
:path)
:parent-of
'root))
(list
'dotimes
(list
'_
(list
'car
(list
'treemacs-button-get
'current-btn
:collapsed)))
(list
'setq
'root
(list
'concat
'root
"/"
(list
'pop
dir-parts)))
(list
'cl-incf
'index))
(list
'cl-return-from
'search
'current-btn))
(list
(list
'>=
'depth
(list
'treemacs-button-get
'current-btn
:depth))
(list
'cl-return-from
'search)))))))
(list 'unless btn
(list 'throw
(list
'quote
'follow-failed)
(list
'quote
'follow-failed)))
(list 'goto-char btn)
(list 'when
(list 'and
(list 'eq
(list
'quote
'dir-node-closed)
(list
'treemacs-button-get
btn
:state))
(list '<
'index
'last-index))
(list
'treemacs--expand-dir-node
btn :git-future
'git-future))
(list 'setq 'index
(list '1+ 'index))))
btn))))
(if (eq project exp) body
(macroexp-let* (list (list project exp)) body)))))
(if (eq dir-parts exp) body
(macroexp-let* (list (list dir-parts exp)) body)))))
(if (eq btn exp) body
(macroexp-let* (list (list btn exp)) body)))))
(t)]