#[non_exhaustive]pub enum ProjectType {
Show 22 variants
Bazaar,
Darcs,
Fossil,
Git,
Mercurial,
Pijul,
Subversion,
Bundler,
C,
Cargo,
Docker,
Elixir,
Go,
Gradle,
JavaScript,
Leiningen,
Maven,
Perl,
PHP,
Pip,
V,
Zig,
}Expand description
Project types recognised by watchexec.
There are two kinds of projects: VCS and software suite. The latter is more characterised by what package manager or build system is in use. The enum is marked non-exhaustive as more types can get added in the future.
Do not rely on the ordering or value (e.g. with transmute) of the variants.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Bazaar
VCS: Bazaar.
Detects when a .bzr folder or a .bzrignore file is present. Bazaar does not support (at
writing, anyway) ignore files deeper than the repository origin, so this should not
false-positive.
Darcs
VCS: Darcs.
Detects when a _darcs folder is present.
Fossil
VCS: Fossil.
Detects when a .fossil-settings folder is present.
Git
VCS: Git.
Detects when a .git file or folder is present, or any of the files .gitattributes or
.gitmodules. Does not check or return from the presence of .gitignore files, as Git
supports nested ignores, and that would result in false-positives.
Mercurial
VCS: Mercurial.
Detects when a .hg folder is present, or any of the files .hgignore or .hgtags.
Mercurial does not support (at writing, anyway) ignore files deeper than the repository
origin, so this should not false-positive.
Pijul
VCS: Pijul.
This is not detected at the moment.
Subversion
VCS: Subversion (aka SVN).
Detects when a .svn folder is present.
Bundler
C
Soft: the C programming language.
Detects when a .ctags file is present.
Cargo
Detects Cargo workspaces and Cargo crates through the presence of a Cargo.toml file.
Docker
Soft: the Docker container runtime.
Detects when a Dockerfile file is present.
Elixir
Soft: the Elixir language.
Detects when a mix.exs file is present.
Go
Soft: the Go language.
Detects when a go.mod or go.sum file is present.
Gradle
JavaScript
Soft: EcmaScript (aka JavaScript).
Detects when a package.json or cgmanifest.json file is present.
This is a catch-all for all package.json-based projects, and does not differentiate
between NPM, Yarn, PNPM, Node, browser, Deno, Bun, etc.
Leiningen
Maven
Perl
Soft: the Perl language.
Detects when a .perltidyrc or Makefile.PL file is present.
PHP
Soft: the PHP language.
Detects when a composer.json file is present.
Pip
V
Soft: the V language.
Detects when a v.mod file is present.
Zig
Soft: the Zig language.
Detects when a build.zig file is present.
Implementations§
Trait Implementations§
Source§impl Clone for ProjectType
impl Clone for ProjectType
Source§fn clone(&self) -> ProjectType
fn clone(&self) -> ProjectType
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more