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.

View in manual

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