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_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 FN: &[u8] = b"fn";
34pub const FUNC: &[u8] = b"func";
35pub const METHOD: &[u8] = b"method";
36pub const CONSTRUCTOR: &[u8] = b"constructor";
37
38pub const FIELD: &[u8] = b"field";
39pub const PROPERTY: &[u8] = b"property";
40pub const CONST: &[u8] = b"const";
41pub const VAR: &[u8] = b"var";
42pub const ENUM_CONSTANT: &[u8] = b"enum_constant";
43
44pub const HINT_THIS: &[u8] = b"this";
45pub const HINT_SUPER: &[u8] = b"super";
46pub const HINT_SELF: &[u8] = b"self";
47pub const HINT_CLS: &[u8] = b"cls";
48pub const HINT_CALL: &[u8] = b"call";
49pub const HINT_MEMBER: &[u8] = b"member";
50pub const HINT_SUBSCRIPT: &[u8] = b"subscript";
51
52pub const INTERNAL_KINDS: &[&str] = &["module", "local", "param", "comment"];
53
54pub const CONF_EXTERNAL: &[u8] = b"external";
55pub const CONF_IMPORTED: &[u8] = b"imported";
56pub const CONF_NAME_MATCH: &[u8] = b"name_match";
57pub const CONF_LOCAL: &[u8] = b"local";
58pub const CONF_RESOLVED: &[u8] = b"resolved";
59pub const CONF_UNRESOLVED: &[u8] = b"unresolved";
60
61pub fn name_confidence_for(is_local: bool, deep: bool) -> Option<&'static [u8]> {
62	if is_local {
63		if deep { Some(CONF_LOCAL) } else { None }
64	} else {
65		Some(CONF_NAME_MATCH)
66	}
67}