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	KIND_TRIGGER as TRIGGER, REF_ANNOTATES as ANNOTATES, REF_CALLS as CALLS,
8	REF_DI_REGISTER as DI_REGISTER, REF_EXTENDS as EXTENDS, REF_IMPLEMENTS as IMPLEMENTS,
9	REF_IMPORTS_MODULE as IMPORTS_MODULE, REF_IMPORTS_SYMBOL as IMPORTS_SYMBOL,
10	REF_INSTANTIATES as INSTANTIATES, REF_METHOD_CALL as METHOD_CALL, REF_READS as READS,
11	REF_REEXPORTS as REEXPORTS, REF_REFERENCES as REFERENCES, REF_RETURNS_TYPE as RETURNS_TYPE,
12	REF_TYPED_AS as TYPED_AS, REF_USES_TYPE as USES_TYPE, REF_WRITES as WRITES,
13};
14
15pub const LANG: &[u8] = b"lang";
16
17pub const PATH: &[u8] = b"path";
18pub const DIR: &[u8] = b"dir";
19pub const SDK: &[u8] = b"sdk";
20pub const EXTERNAL_PKG: &[u8] = b"external_pkg";
21pub const PACKAGE: &[u8] = b"package";
22
23pub const CLASS: &[u8] = b"class";
24pub const STRUCT: &[u8] = b"struct";
25pub const INTERFACE: &[u8] = b"interface";
26pub const TRAIT: &[u8] = b"trait";
27pub const ENUM: &[u8] = b"enum";
28pub const TYPE: &[u8] = b"type";
29pub const RECORD: &[u8] = b"record";
30pub const ANNOTATION_TYPE: &[u8] = b"annotation_type";
31pub const TABLE: &[u8] = b"table";
32pub const VIEW: &[u8] = b"view";
33pub const COLUMN: &[u8] = b"column";
34pub const CONSTRAINT: &[u8] = b"constraint";
35
36pub const FUNCTION: &[u8] = b"function";
37pub const ASYNC_FUNCTION: &[u8] = b"async_function";
38pub const FN: &[u8] = b"fn";
39pub const FUNC: &[u8] = b"func";
40pub const METHOD: &[u8] = b"method";
41pub const CONSTRUCTOR: &[u8] = b"constructor";
42
43pub const FIELD: &[u8] = b"field";
44pub const PROPERTY: &[u8] = b"property";
45pub const CONST: &[u8] = b"const";
46pub const STATIC: &[u8] = b"static";
47pub const VAR: &[u8] = b"var";
48pub const ENUM_CONSTANT: &[u8] = b"enum_constant";
49
50pub const HINT_THIS: &[u8] = b"this";
51pub const HINT_SUPER: &[u8] = b"super";
52pub const HINT_SELF: &[u8] = b"self";
53pub const HINT_CLS: &[u8] = b"cls";
54pub const HINT_CALL: &[u8] = b"call";
55pub const HINT_MEMBER: &[u8] = b"member";
56pub const HINT_SUBSCRIPT: &[u8] = b"subscript";
57pub const HINT_PY_CONDITIONAL_IMPORT: &[u8] = b"python_conditional_import";
58pub const HINT_PY_ALL_REPLACE: &[u8] = b"python_all_replace";
59pub const HINT_PY_ALL_EXTEND: &[u8] = b"python_all_extend";
60pub const HINT_PY_ALL_DYNAMIC: &[u8] = b"python_all_dynamic";
61
62pub const INTERNAL_KINDS: &[&str] = &["module", "local", "param", "comment"];
63
64pub const CONF_EXTERNAL: &[u8] = b"external";
65pub const CONF_IMPORTED: &[u8] = b"imported";
66pub const CONF_NAME_MATCH: &[u8] = b"name_match";
67pub const CONF_LOCAL: &[u8] = b"local";
68pub const CONF_RESOLVED: &[u8] = b"resolved";
69pub const CONF_UNRESOLVED: &[u8] = b"unresolved";
70
71pub fn name_confidence_for(is_local: bool, deep: bool) -> Option<&'static [u8]> {
72	if is_local {
73		if deep { Some(CONF_LOCAL) } else { None }
74	} else {
75		Some(CONF_NAME_MATCH)
76	}
77}