Skip to content

Commit 8e7bae5

Browse files
committed
Add tags.scm
1 parent a250c45 commit 8e7bae5

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

queries/tags.scm

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
; ADT definitions
2+
3+
(struct_item
4+
name: (type_identifier) @name) @definition.class
5+
6+
(enum_item
7+
name: (type_identifier) @name) @definition.class
8+
9+
(union_item
10+
name: (type_identifier) @name) @definition.class
11+
12+
; type aliases
13+
14+
(type_item
15+
name: (type_identifier) @name) @definition.class
16+
17+
; method definitions
18+
19+
(declaration_list
20+
(function_item
21+
name: (identifier) @name)) @definition.method
22+
23+
; function definitions
24+
25+
(function_item
26+
name: (identifier) @name) @definition.function
27+
28+
; trait definitions
29+
(trait_item
30+
name: (type_identifier) @name) @definition.interface
31+
32+
; module definitions
33+
(mod_item
34+
name: (identifier) @name) @definition.module
35+
36+
; macro definitions
37+
38+
(macro_definition
39+
name: (identifier) @name) @definition.macro
40+
41+
; references
42+
43+
(call_expression
44+
function: (identifier) @name) @reference.call
45+
46+
(call_expression
47+
function: (field_expression
48+
field: (field_identifier) @name)) @reference.call
49+
50+
(macro_invocation
51+
macro: (identifier) @name) @reference.call
52+
53+
; implementations
54+
55+
(impl_item
56+
trait: (type_identifier) @name) @reference.implementation
57+
58+
(impl_item
59+
type: (type_identifier) @name
60+
!trait) @reference.implementation

0 commit comments

Comments
 (0)