Function: projectile-locate-dominating-file-top-down
projectile-locate-dominating-file-top-down is a byte-compiled function
defined in projectile.el.
Signature
(projectile-locate-dominating-file-top-down FILE NAME)
Documentation
Look up the directory hierarchy from FILE for a directory containing NAME.
Unlike projectile-locate-dominating-file which returns the first (bottommost)
match, this returns the topmost match. Return nil if not found.
Instead of a string, NAME can also be a predicate taking one argument
(a directory) and returning a non-nil value if that directory is the one for
which we're looking.
Source Code
;; Defined in ~/.emacs.d/elpa/projectile-20260310.858/projectile.el
(defun projectile-locate-dominating-file-top-down (file name)
"Look up the directory hierarchy from FILE for a directory containing NAME.
Unlike `projectile-locate-dominating-file' which returns the first (bottommost)
match, this returns the topmost match. Return nil if not found.
Instead of a string, NAME can also be a predicate taking one argument
\(a directory) and returning a non-nil value if that directory is the one for
which we're looking."
(setq file (abbreviate-file-name file))
(let ((root nil)
try)
(while (not (or (null file)
(string-match locate-dominating-stop-dir-regexp file)))
(setq try (if (stringp name)
(projectile-file-exists-p (projectile-expand-file-name-wildcard name file))
(funcall name file)))
(when try (setq root file))
(if (equal file (setq file (file-name-directory
(directory-file-name file))))
(setq file nil)))
(and root (expand-file-name (file-name-as-directory root)))))