1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//! The [`Registry`] of project types and the process-wide default registry.
use Lazy;
use RwLock;
use cratebuiltins;
use crateResult;
use crateProjectType;
/// Holds the registered [`ProjectType`]s used for detection.
///
/// The ergonomic entry point is [`Registry::with_builtins`], which returns a
/// registry preloaded with all built-in types. The crate also maintains a
/// process-wide [default registry](crate::default_registry) that backs the
/// free functions ([`crate::detect`], [`crate::find`], …) for parity with the
/// Go library's package-level API.
/// The process-wide default registry, preloaded with the built-ins. Backs the
/// crate-level free functions and supports runtime [`crate::register`].
pub static DEFAULT: =
new;