blob: 38d392609bb93fbec01ee4e6b1d54b6f227f865d (
plain) (
blame)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
; Scopes
;-------
[
(compilation_unit)
(structure)
(signature)
(module_binding)
(functor)
(let_binding)
(match_case)
(class_binding)
(class_function)
(method_definition)
(let_expression)
(fun_expression)
(for_expression)
(let_class_expression)
(object_expression)
(attribute_payload)
] @local.scope
; Definitions
;------------
(value_pattern) @local.definition.var
(let_binding
pattern: (value_name) @local.definition.var
(#set! definition.var.scope "parent"))
(let_binding
pattern: (tuple_pattern
(value_name) @local.definition.var)
(#set! definition.var.scope "parent"))
(let_binding
pattern: (record_pattern
(field_pattern
(value_name) @local.definition.var))
(#set! definition.var.scope "parent"))
(external
(value_name) @local.definition.var)
(type_binding
(type_constructor) @local.definition.type)
(abstract_type
(type_constructor) @local.definition.type)
(method_definition
(method_name) @local.definition.method)
(module_binding
(module_name) @local.definition.namespace
(#set! definition.namespace.scope "parent"))
(module_parameter
(module_name) @local.definition.namespace)
(module_type_definition
(module_type_name) @local.definition.type)
; References
;------------
(value_path
.
(value_name) @local.reference
(#set! reference.kind "var"))
(type_constructor_path
.
(type_constructor) @local.reference
(#set! reference.kind "type"))
(method_invocation
(method_name) @local.reference
(#set! reference.kind "method"))
(module_path
.
(module_name) @local.reference
(#set! reference.kind "type"))
(module_type_path
.
(module_type_name) @local.reference
(#set! reference.kind "type"))
|