#[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