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)))))))