1(
2 (comment)* @context
3 .
4 (function_definition
5 (type_qualifier)? @name
6 type: (_)? @name
7 declarator: [
8 (function_declarator
9 declarator: (_) @name)
10 (pointer_declarator
11 "*" @name
12 declarator: (function_declarator
13 declarator: (_) @name))
14 (pointer_declarator
15 "*" @name
16 declarator: (pointer_declarator
17 "*" @name
18 declarator: (function_declarator
19 declarator: (_) @name)))
20 (reference_declarator
21 ["&" "&&"] @name
22 (function_declarator
23 declarator: (_) @name))
24 ]
25 (type_qualifier)? @name) @item
26 )
27
28(
29 (comment)* @context
30 .
31 (template_declaration
32 (class_specifier
33 "class" @name
34 name: (_) @name)
35 ) @item
36)
37
38(
39 (comment)* @context
40 .
41 (class_specifier
42 "class" @name
43 name: (_) @name) @item
44 )
45
46(
47 (comment)* @context
48 .
49 (enum_specifier
50 "enum" @name
51 name: (_) @name) @item
52 )
53
54(
55 (comment)* @context
56 .
57 (declaration
58 type: (struct_specifier
59 "struct" @name)
60 declarator: (_) @name) @item
61)