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(struct_specifier
13 "struct" @context
14 name: (_) @name) @item
15
16(union_specifier
17 "union" @context
18 name: (_) @name) @item
19
20(enum_specifier
21 "enum" @context
22 name: (_) @name) @item
23
24(enumerator
25 name: (_) @name) @item
26
27(field_declaration
28 type: (_) @context
29 declarator: (field_identifier) @name) @item
30
31(type_definition
32 "typedef" @context
33 declarator: (_) @name) @item
34
35(declaration
36 (type_qualifier)? @context
37 type: (_)? @context
38 declarator: [
39 (function_declarator
40 declarator: (_) @name
41 parameters: (parameter_list
42 "(" @context
43 ")" @context))
44 (pointer_declarator
45 "*" @context
46 declarator: (function_declarator
47 declarator: (_) @name
48 parameters: (parameter_list
49 "(" @context
50 ")" @context)))
51 (pointer_declarator
52 "*" @context
53 declarator: (pointer_declarator
54 "*" @context
55 declarator: (function_declarator
56 declarator: (_) @name
57 parameters: (parameter_list
58 "(" @context
59 ")" @context))))
60 ]
61) @item
62
63(function_definition
64 (type_qualifier)? @context
65 type: (_)? @context
66 declarator: [
67 (function_declarator
68 declarator: (_) @name
69 parameters: (parameter_list
70 "(" @context
71 ")" @context))
72 (pointer_declarator
73 "*" @context
74 declarator: (function_declarator
75 declarator: (_) @name
76 parameters: (parameter_list
77 "(" @context
78 ")" @context)))
79 (pointer_declarator
80 "*" @context
81 declarator: (pointer_declarator
82 "*" @context
83 declarator: (function_declarator
84 declarator: (_) @name
85 parameters: (parameter_list
86 "(" @context
87 ")" @context))))
88 ]
89) @item
90
91(comment) @annotation