outline.scm

 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