1(attribute_item) @annotation
2(line_comment) @annotation
3
4(struct_item
5 (visibility_modifier)? @context
6 "struct" @context
7 name: (_) @name
8 body: (_ "{" @open (_)* "}" @close)) @item
9
10(enum_item
11 (visibility_modifier)? @context
12 "enum" @context
13 name: (_) @name) @item
14
15(enum_variant
16 (visibility_modifier)? @context
17 name: (_) @name) @item
18
19(impl_item
20 "impl" @context
21 trait: (_)? @name
22 "for"? @context
23 type: (_) @name
24 body: (_ "{" @open (_)* "}" @close)) @item
25
26(trait_item
27 (visibility_modifier)? @context
28 "trait" @context
29 name: (_) @name) @item
30
31(function_item
32 (visibility_modifier)? @context
33 (function_modifiers)? @context
34 "fn" @context
35 name: (_) @name) @item
36
37(function_signature_item
38 (visibility_modifier)? @context
39 (function_modifiers)? @context
40 "fn" @context
41 name: (_) @name) @item
42
43(macro_definition
44 . "macro_rules!" @context
45 name: (_) @name) @item
46
47(mod_item
48 (visibility_modifier)? @context
49 "mod" @context
50 name: (_) @name) @item
51
52(type_item
53 (visibility_modifier)? @context
54 "type" @context
55 name: (_) @name) @item
56
57(associated_type
58 "type" @context
59 name: (_) @name) @item
60
61(const_item
62 (visibility_modifier)? @context
63 "const" @context
64 name: (_) @name) @item
65
66(static_item
67 (visibility_modifier)? @context
68 "static" @context
69 name: (_) @name) @item
70
71(field_declaration
72 (visibility_modifier)? @context
73 name: (_) @name) @item