1(preproc_def
2 "#define" @context
3 name: (_) @name) @item
4
5(preproc_function_def
6 "#define" @context
7 name: (_) @name
8 parameters: (preproc_params
9 "(" @context
10 ")" @context)) @item
11
12(type_definition
13 "typedef" @context
14 declarator: (_) @name) @item
15
16(struct_specifier
17 "struct" @context
18 name: (_) @name) @item
19
20(class_specifier
21 "class" @context
22 name: (_) @name) @item
23
24(enum_specifier
25 "enum" @context
26 name: (_) @name) @item
27
28(enumerator
29 name: (_) @name) @item
30
31(declaration
32 (storage_class_specifier) @context
33 (type_qualifier)? @context
34 type: (_) @context
35 declarator: (init_declarator
36 declarator: (_) @name)) @item
37
38(function_definition
39 (type_qualifier)? @context
40 type: (_)? @context
41 declarator: [
42 (function_declarator
43 declarator: (_) @name
44 parameters: (parameter_list
45 "(" @context
46 ")" @context))
47 (pointer_declarator
48 "*" @context
49 declarator: (function_declarator
50 declarator: (_) @name
51 parameters: (parameter_list
52 "(" @context
53 ")" @context)))
54 (pointer_declarator
55 "*" @context
56 declarator: (pointer_declarator
57 "*" @context
58 declarator: (function_declarator
59 declarator: (_) @name
60 parameters: (parameter_list
61 "(" @context
62 ")" @context))))
63 (reference_declarator
64 ["&" "&&"] @context
65 (function_declarator
66 declarator: (_) @name
67 parameters: (parameter_list
68 "(" @context
69 ")" @context)))
70 ]
71 (type_qualifier)? @context) @item
72
73(declaration
74 (type_qualifier)? @context
75 type: (_)? @context
76 declarator: [
77 (field_identifier) @name
78 (pointer_declarator
79 "*" @context
80 declarator: (field_identifier) @name)
81 (function_declarator
82 declarator: (_) @name
83 parameters: (parameter_list
84 "(" @context
85 ")" @context))
86 (pointer_declarator
87 "*" @context
88 declarator: (function_declarator
89 declarator: (_) @name
90 parameters: (parameter_list
91 "(" @context
92 ")" @context)))
93 (pointer_declarator
94 "*" @context
95 declarator: (pointer_declarator
96 "*" @context
97 declarator: (function_declarator
98 declarator: (_) @name
99 parameters: (parameter_list
100 "(" @context
101 ")" @context))))
102 (reference_declarator
103 ["&" "&&"] @context
104 (function_declarator
105 declarator: (_) @name
106 parameters: (parameter_list
107 "(" @context
108 ")" @context)))
109 ]
110 (type_qualifier)? @context) @item
111
112(field_declaration
113 (type_qualifier)? @context
114 type: (_) @context
115 declarator: [
116 (field_identifier) @name
117 (pointer_declarator
118 "*" @context
119 declarator: (field_identifier) @name)
120 (function_declarator
121 declarator: (_) @name
122 parameters: (parameter_list
123 "(" @context
124 ")" @context))
125 (pointer_declarator
126 "*" @context
127 declarator: (function_declarator
128 declarator: (_) @name
129 parameters: (parameter_list
130 "(" @context
131 ")" @context)))
132 (pointer_declarator
133 "*" @context
134 declarator: (pointer_declarator
135 "*" @context
136 declarator: (function_declarator
137 declarator: (_) @name
138 parameters: (parameter_list
139 "(" @context
140 ")" @context))))
141 (reference_declarator
142 ["&" "&&"] @context
143 (function_declarator
144 declarator: (_) @name
145 parameters: (parameter_list
146 "(" @context
147 ")" @context)))
148 ]
149 (type_qualifier)? @context) @item
150
151(comment) @annotation