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(declaration
17 (type_qualifier)? @context
18 type: (_)? @context
19 declarator: [
20 (function_declarator
21 declarator: (_) @name
22 parameters: (parameter_list
23 "(" @context
24 ")" @context))
25 (pointer_declarator
26 "*" @context
27 declarator: (function_declarator
28 declarator: (_) @name
29 parameters: (parameter_list
30 "(" @context
31 ")" @context)))
32 (pointer_declarator
33 "*" @context
34 declarator: (pointer_declarator
35 "*" @context
36 declarator: (function_declarator
37 declarator: (_) @name
38 parameters: (parameter_list
39 "(" @context
40 ")" @context))))
41 ]
42) @item
43
44(function_definition
45 (type_qualifier)? @context
46 type: (_)? @context
47 declarator: [
48 (function_declarator
49 declarator: (_) @name
50 parameters: (parameter_list
51 "(" @context
52 ")" @context))
53 (pointer_declarator
54 "*" @context
55 declarator: (function_declarator
56 declarator: (_) @name
57 parameters: (parameter_list
58 "(" @context
59 ")" @context)))
60 (pointer_declarator
61 "*" @context
62 declarator: (pointer_declarator
63 "*" @context
64 declarator: (function_declarator
65 declarator: (_) @name
66 parameters: (parameter_list
67 "(" @context
68 ")" @context))))
69 ]
70) @item
71
72(comment) @annotation