Function: projectile-project-buffer-p

projectile-project-buffer-p is a byte-compiled function defined in projectile.el.

Signature

(projectile-project-buffer-p BUFFER PROJECT-ROOT &optional TRUENAME-CACHE)

Documentation

Check if BUFFER is under PROJECT-ROOT.

Optional TRUENAME-CACHE is a hash table used to memoize file-truename calls when checking multiple buffers against the same project root.

Source Code

;; Defined in ~/.emacs.d/elpa/projectile-20260310.858/projectile.el
(defun projectile-project-buffer-p (buffer project-root &optional truename-cache)
  "Check if BUFFER is under PROJECT-ROOT.
Optional TRUENAME-CACHE is a hash table used to memoize `file-truename'
calls when checking multiple buffers against the same project root."
  (with-current-buffer buffer
    (let ((directory (if buffer-file-name
                         (file-name-directory buffer-file-name)
                       default-directory)))
      (and (not (string-prefix-p " " (buffer-name buffer)))
           (not (projectile-ignored-buffer-p buffer))
           directory
           (string-equal (file-remote-p directory)
                         (file-remote-p project-root))
           (not (string-match-p "^http\\(s\\)?://" directory))
           (let ((true-dir (if truename-cache
                               (or (gethash directory truename-cache)
                                   (puthash directory (file-truename directory) truename-cache))
                             (file-truename directory))))
             (string-prefix-p project-root true-dir (eq system-type 'windows-nt)))))))