1(attribute_item) @annotation
 2(line_comment) @annotation
 3
 4(struct_item
 5    (visibility_modifier)? @context
 6    "struct" @context
 7    name: (_) @name) @item
 8
 9(enum_item
10    (visibility_modifier)? @context
11    "enum" @context
12    name: (_) @name) @item
13
14(enum_variant
15    (visibility_modifier)? @context
16    name: (_) @name) @item
17
18(impl_item
19    "impl" @context
20    trait: (_)? @name
21    "for"? @context
22    type: (_) @name
23    body: (_ . "{" @open "}" @close .)) @item
24
25(trait_item
26    (visibility_modifier)? @context
27    "trait" @context
28    name: (_) @name) @item
29
30(function_item
31    (visibility_modifier)? @context
32    (function_modifiers)? @context
33    "fn" @context
34    name: (_) @name
35    body: (_ . "{" @open "}" @close .)) @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