Function: f-traverse-upwards

f-traverse-upwards is a byte-compiled function defined in f.el.

Signature

(f-traverse-upwards FN &optional PATH)

Documentation

Traverse up as long as FN return nil, starting at PATH.

If FN returns a non-nil value, the path sent as argument to FN is returned. If no function callback return a non-nil value, nil is returned.

Source Code

;; Defined in ~/.emacs.d/elpa/f-20241003.1131/f.el
(defun f-traverse-upwards (fn &optional path)
  "Traverse up as long as FN return nil, starting at PATH.

If FN returns a non-nil value, the path sent as argument to FN is
returned.  If no function callback return a non-nil value, nil is
returned."
  (unless path
    (setq path default-directory))
  (when (f-relative-p path)
    (setq path (f-expand path)))
  (if (funcall fn path)
      path
    (unless (f-root-p path)
      (f-traverse-upwards fn (f-parent path)))))