( (comment)* @context . (function_definition (type_qualifier)? @name type: (_)? @name declarator: [ (function_declarator declarator: (_) @name) (pointer_declarator "*" @name declarator: (function_declarator declarator: (_) @name)) (pointer_declarator "*" @name declarator: (pointer_declarator "*" @name declarator: (function_declarator declarator: (_) @name))) (reference_declarator ["&" "&&"] @name (function_declarator declarator: (_) @name)) ] (type_qualifier)? @name) @item ) ( (comment)* @context . (template_declaration (class_specifier "class" @name name: (_) @name) ) @item) ( (comment)* @context . (class_specifier "class" @name name: (_) @name) @item ) ( (comment)* @context . (enum_specifier "enum" @name name: (_) @name) @item ) ( (comment)* @context . (declaration type: (struct_specifier "struct" @name) declarator: (_) @name) @item)
(
(comment)* @context
.
(function_definition
(type_qualifier)? @name
type: (_)? @name
declarator: [
(function_declarator
declarator: (_) @name)
(pointer_declarator
"*" @name
declarator: (function_declarator
declarator: (_) @name))
(pointer_declarator
"*" @name
declarator: (pointer_declarator
"*" @name
declarator: (function_declarator
declarator: (_) @name)))
(reference_declarator
["&" "&&"] @name
(function_declarator
declarator: (_) @name))
]
(type_qualifier)? @name) @item
)
(
(comment)* @context
.
(template_declaration
(class_specifier
"class" @name
name: (_) @name)
) @item
)
(
(comment)* @context
.
(class_specifier
"class" @name
name: (_) @name) @item
)
(
(comment)* @context
.
(enum_specifier
"enum" @name
name: (_) @name) @item
)
(
(comment)* @context
.
(declaration
type: (struct_specifier
"struct" @name)
declarator: (_) @name) @item
)