Function: treemacs-first-child-node-where
treemacs-first-child-node-where is a macro defined in
treemacs-macros.el.
Signature
(treemacs-first-child-node-where BTN &rest PREDICATE)
Documentation
Among the *direct* children of BTN find the first child matching PREDICATE.
For the PREDICATE call the button being checked is bound as 'child-btn'.
Source Code
;; Defined in ~/.emacs.d/elpa/treemacs-20251226.1307/treemacs-macros.el
(cl-defmacro treemacs-first-child-node-where (btn &rest predicate)
"Among the *direct* children of BTN find the first child matching PREDICATE.
For the PREDICATE call the button being checked is bound as \\='child-btn'."
(declare (indent 1) (debug (sexp body)))
`(cl-block __search__
(let* ((child-btn (next-button (treemacs-button-end ,btn) t))
(depth (when child-btn (treemacs-button-get child-btn :depth))))
(when (and child-btn
(equal (treemacs-button-get child-btn :parent) ,btn))
(if (progn ,@predicate)
(cl-return-from __search__ child-btn)
(while child-btn
(setq child-btn (next-button (treemacs-button-end child-btn)))
(when child-btn
(-let [child-depth (treemacs-button-get child-btn :depth)]
(cond
((= depth child-depth)
(when (progn ,@predicate) (cl-return-from __search__ child-btn)) )
((> depth child-depth)
(cl-return-from __search__ nil)))))))))))