Variable: project-vc-extra-root-markers
project-vc-extra-root-markers is a customizable variable defined in
project.el.gz.
Value
nil
Documentation
List of additional markers to signal project roots.
A marker is either a base file name or a glob pattern for such.
A directory containing such a marker file or a file matching a marker pattern will be recognized as the root of a VC-aware project.
Example values: ".dir-locals.el", "package.json", "pom.xml",
"requirements.txt", "Gemfile", "*.gemspec", "autogen.sh".
These will be used in addition to regular directory markers such
as ".git", ".hg", and so on, depending on the value of
vc-handled-backends. It is most useful when a project has
subdirectories inside it that need to be considered as separate
projects. It can also be used for projects outside of VC
repositories.
In either case, their behavior will still obey the relevant
variables, such as project-vc-ignores or project-vc-name.
This variable was added, or its default value changed, in project version 0.9.0.
Probably introduced at or before Emacs version 29.1.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/project.el.gz
;;;###autoload(put 'project-vc-name 'safe-local-variable #'stringp)
;; Not using regexps because these wouldn't work in Git pathspecs, in
;; case we decide we need to be able to list nested projects.
(defcustom project-vc-extra-root-markers nil
"List of additional markers to signal project roots.
A marker is either a base file name or a glob pattern for such.
A directory containing such a marker file or a file matching a
marker pattern will be recognized as the root of a VC-aware
project.
Example values: \".dir-locals.el\", \"package.json\", \"pom.xml\",
\"requirements.txt\", \"Gemfile\", \"*.gemspec\", \"autogen.sh\".
These will be used in addition to regular directory markers such
as \".git\", \".hg\", and so on, depending on the value of
`vc-handled-backends'. It is most useful when a project has
subdirectories inside it that need to be considered as separate
projects. It can also be used for projects outside of VC
repositories.
In either case, their behavior will still obey the relevant
variables, such as `project-vc-ignores' or `project-vc-name'."
:type '(repeat string)
:version "29.1"
:package-version '(project . "0.9.0"))