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