Function: projectile--related-files-plist-by-kind
projectile--related-files-plist-by-kind is a byte-compiled function
defined in projectile.el.
Signature
(projectile--related-files-plist-by-kind FILE KIND)
Documentation
Return a plist containing :paths and/or :predicate of KIND for FILE.
Source Code
;; Defined in ~/.emacs.d/elpa/projectile-20260310.858/projectile.el
(defun projectile--related-files-plist-by-kind (file kind)
"Return a plist containing :paths and/or :predicate of KIND for FILE."
(if-let* ((project-root (projectile-project-root))
(plist (projectile--related-files-plist project-root file))
(has-kind? (plist-member plist kind)))
(let* ((kind-value (plist-get plist kind))
(values (if (or (stringp kind-value) (functionp kind-value))
(list kind-value)
kind-value))
(paths (seq-uniq (seq-filter 'stringp values)))
(predicates (seq-uniq (seq-filter 'functionp values))))
(append
;; Make sure that :paths exists even with nil if there is no predicates
(when (or paths (null predicates))
(list :paths (seq-filter
(lambda (f)
(projectile-file-exists-p (projectile-expand-file-name-wildcard f project-root)))
paths)))
(when predicates
(list :predicate (if (= 1 (length predicates))
(car predicates)
(lambda (other-file)
(seq-some (lambda (predicate)
(funcall predicate other-file))
predicates)))))))))