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 ]) @item
61
62(function_definition
63 (type_qualifier)? @context
64 type: (_)? @context
65 declarator: [
66 (function_declarator
67 declarator: (_) @name
68 parameters: (parameter_list
69 "(" @context
70 ")" @context))
71 (pointer_declarator
72 "*" @context
73 declarator: (function_declarator
74 declarator: (_) @name
75 parameters: (parameter_list
76 "(" @context
77 ")" @context)))
78 (pointer_declarator
79 "*" @context
80 declarator: (pointer_declarator
81 "*" @context
82 declarator: (function_declarator
83 declarator: (_) @name
84 parameters: (parameter_list
85 "(" @context
86 ")" @context))))
87 ]) @item
88
89(comment) @annotation