( (function_declaration name: (identifier) @name (parameters) @arguments.target) @subtree (#set! role function-or-method) (#set! arguments.query "arguments.scm") ) ( (variable_declaration (identifier) @name (struct_declaration)) @subtree (#set! role struct) ) ( (variable_declaration (identifier) @name (enum_declaration)) @subtree (#set! role enum) ) ( (variable_declaration (identifier) @name (union_declaration)) @subtree (#set! role struct) ) ( (variable_declaration (identifier) @name (opaque_declaration)) @subtree (#set! role struct) ) ( (variable_declaration (identifier) @name (error_set_declaration)) @subtree (#set! role enum) ) ( (container_field name: (identifier) @name) @subtree (#set! role property) ) ( (container_field name: (primary_type_expression (identifier) @name)) @subtree (#set! role property) ) ( (test_declaration (string) @name @displayname) @subtree (#set! role function) ) ( (test_declaration (identifier) @name @displayname) @subtree (#set! role function) ) ( (block (variable_declaration (identifier) @name) @subtree) (#set! role variable) )