Skip to main content

code_moniker_core/lang/
kinds.rs

1pub use crate::core::kinds::{
2	VIS_MODULE, VIS_NONE, VIS_PACKAGE, VIS_PRIVATE, VIS_PROTECTED, VIS_PUBLIC,
3};
4
5pub use crate::core::kinds::{
6	KIND_COMMENT as COMMENT, KIND_LOCAL as LOCAL, KIND_MODULE as MODULE, KIND_PARAM as PARAM,
7	REF_ANNOTATES as ANNOTATES, REF_CALLS as CALLS, REF_DI_REGISTER as DI_REGISTER,
8	REF_EXTENDS as EXTENDS, REF_IMPLEMENTS as IMPLEMENTS, REF_IMPORTS_MODULE as IMPORTS_MODULE,
9	REF_IMPORTS_SYMBOL as IMPORTS_SYMBOL, REF_INSTANTIATES as INSTANTIATES,
10	REF_METHOD_CALL as METHOD_CALL, REF_READS as READS, REF_REEXPORTS as REEXPORTS,
11	REF_RETURNS_TYPE as RETURNS_TYPE, REF_TYPED_AS as TYPED_AS, REF_USES_TYPE as USES_TYPE,
12};
13
14pub const LANG: &[u8] = b"lang";
15
16pub const PATH: &[u8] = b"path";
17pub const DIR: &[u8] = b"dir";
18pub const EXTERNAL_PKG: &[u8] = b"external_pkg";
19pub const PACKAGE: &[u8] = b"package";
20
21pub const CLASS: &[u8] = b"class";
22pub const STRUCT: &[u8] = b"struct";
23pub const INTERFACE: &[u8] = b"interface";
24pub const TRAIT: &[u8] = b"trait";
25pub const ENUM: &[u8] = b"enum";
26pub const TYPE: &[u8] = b"type";
27pub const RECORD: &[u8] = b"record";
28pub const ANNOTATION_TYPE: &[u8] = b"annotation_type";
29pub const TABLE: &[u8] = b"table";
30pub const VIEW: &[u8] = b"view";
31
32pub const FUNCTION: &[u8] = b"function";
33pub const ASYNC_FUNCTION: &[u8] = b"async_function";
34pub const FN: &[u8] = b"fn";
35pub const FUNC: &[u8] = b"func";
36pub const METHOD: &[u8] = b"method";
37pub const CONSTRUCTOR: &[u8] = b"constructor";
38
39pub const FIELD: &[u8] = b"field";
40pub const PROPERTY: &[u8] = b"property";
41pub const CONST: &[u8] = b"const";
42pub const STATIC: &[u8] = b"static";
43pub const VAR: &[u8] = b"var";
44pub const ENUM_CONSTANT: &[u8] = b"enum_constant";
45
46pub const HINT_THIS: &[u8] = b"this";
47pub const HINT_SUPER: &[u8] = b"super";
48pub const HINT_SELF: &[u8] = b"self";
49pub const HINT_CLS: &[u8] = b"cls";
50pub const HINT_CALL: &[u8] = b"call";
51pub const HINT_MEMBER: &[u8] = b"member";
52pub const HINT_SUBSCRIPT: &[u8] = b"subscript";
53
54pub const INTERNAL_KINDS: &[&str] = &["module", "local", "param", "comment"];
55
56pub const CONF_EXTERNAL: &[u8] = b"external";
57pub const CONF_IMPORTED: &[u8] = b"imported";
58pub const CONF_NAME_MATCH: &[u8] = b"name_match";
59pub const CONF_LOCAL: &[u8] = b"local";
60pub const CONF_RESOLVED: &[u8] = b"resolved";
61pub const CONF_UNRESOLVED: &[u8] = b"unresolved";
62
63pub fn name_confidence_for(is_local: bool, deep: bool) -> Option<&'static [u8]> {
64	if is_local {
65		if deep { Some(CONF_LOCAL) } else { None }
66	} else {
67		Some(CONF_NAME_MATCH)
68	}
69}