nvim-treesitter/queries/php/locals.scm

84 lines
1.6 KiB
Scheme
Raw Normal View History

; Scopes
;-------
2020-09-12 18:55:44 +09:00
((class_declaration
name: (name) @definition.type) @scope
(set! definition.type.scope "parent"))
((method_declaration
2020-08-05 14:48:42 +09:00
name: (name) @definition.method) @scope
2020-09-12 18:55:44 +09:00
(set! definition.method.scope "parent"))
((function_definition
2020-08-05 14:48:42 +09:00
name: (name) @definition.function) @scope
2020-09-12 18:55:44 +09:00
(set! definition.function.scope "parent"))
(anonymous_function_creation_expression
(anonymous_function_use_clause
(variable_name
(name) @definition.var))) @scope
; Definitions
;------------
2020-08-05 14:48:42 +09:00
(simple_parameter
(variable_name
(name) @definition.var))
2021-03-19 11:16:02 +09:00
(foreach_statement
(pair
(variable_name
(name) @definition.var)))
(foreach_statement
(variable_name
(name) @reference
(set! reference.kind "var"))
(variable_name
(name) @definition.var))
2020-08-05 14:48:42 +09:00
(property_declaration
2020-09-12 18:55:44 +09:00
(property_element
(variable_name
(name) @definition.field)))
2020-08-05 14:48:42 +09:00
(namespace_use_clause
(qualified_name
2020-09-07 18:14:54 +02:00
(name) @definition.type))
2020-08-05 14:48:42 +09:00
; References
;------------
2020-09-12 18:55:44 +09:00
(type_name
(name) @reference
(set! reference.kind "type"))
(variable_name
(name) @reference
(set! reference.kind "var"))
(member_access_expression
name: (name) @reference
(set! reference.kind "field"))
(member_call_expression
name: (name) @reference
(set! reference.kind "method"))
(function_call_expression
function: (qualified_name
(name) @reference
(set! reference.kind "function")))
(object_creation_expression
(qualified_name
(name) @reference
(set! reference.kind "type")))
(scoped_call_expression
scope: (qualified_name
(name) @reference
(set! reference.kind "type"))
name: (name) @reference
(set! reference.kind "method"))