Function: projectile--related-file-candidates
projectile--related-file-candidates is a byte-compiled function
defined in projectile.el.
Signature
(projectile--related-file-candidates REL-PATH &optional FILE-KINDS PROJECT-FILES)
Documentation
Return an ordered alist of (KIND . FILE) related to REL-PATH.
Each entry is a project file of a *different* kind than REL-PATH's own
whose resource key equals REL-PATH's, listed in FILE-KINDS table order.
FILE-KINDS defaults to the current project type's kinds and PROJECT-FILES
to projectile-current-project-files. Return nil when REL-PATH is not
of any known kind or has no related files.
Source Code
;; Defined in ~/.emacs.d/elpa/projectile-20260820.1509/projectile.el
(defun projectile--related-file-candidates (rel-path &optional file-kinds project-files)
"Return an ordered alist of (KIND . FILE) related to REL-PATH.
Each entry is a project file of a *different* kind than REL-PATH's own
whose resource key equals REL-PATH's, listed in FILE-KINDS table order.
FILE-KINDS defaults to the current project type's kinds and PROJECT-FILES
to `projectile-current-project-files'. Return nil when REL-PATH is not
of any known kind or has no related files."
(let* ((file-kinds (or file-kinds (projectile--file-kinds)))
(project-files (or project-files (projectile-current-project-files)))
this-kind this-key candidates)
(cl-dolist (entry file-kinds)
(when-let* ((key (projectile--file-kind-match rel-path (cdr entry))))
(setq this-kind (car entry)
this-key key)
(cl-return)))
(when this-kind
(dolist (entry file-kinds (nreverse candidates))
(let ((kind (car entry))
(spec (cdr entry)))
(unless (eq kind this-kind)
(when-let* ((match (seq-find
(lambda (f)
(and (not (equal f rel-path))
(equal this-key
(projectile--file-kind-match f spec))))
project-files)))
(push (cons kind match) candidates))))))))