86 lines
2.2 KiB
Scheme
86 lines
2.2 KiB
Scheme
; Scopes
|
|
;-------
|
|
(class_statement) @local.scope
|
|
|
|
(class_method_definition) @local.scope
|
|
|
|
(statement_block) @local.scope
|
|
|
|
(function_statement) @local.scope
|
|
|
|
; Definitions
|
|
;------------
|
|
(class_statement
|
|
(simple_name) @local.definition.type
|
|
(#set! definition.var.scope "parent"))
|
|
|
|
(class_property_definition
|
|
(variable) @local.definition.field
|
|
(#set! definition.var.scope "parent"))
|
|
|
|
(class_method_definition
|
|
(simple_name) @local.definition.method
|
|
(#set! definition.var.scope "parent"))
|
|
|
|
(function_statement
|
|
(function_name) @local.definition.function
|
|
(#set! definition.var.scope "parent"))
|
|
|
|
; function, script block parameters
|
|
(parameter_list
|
|
(script_parameter
|
|
(attribute_list
|
|
(attribute
|
|
(type_literal
|
|
(type_spec) @local.definition.associated)))
|
|
(variable) @local.definition.parameter))
|
|
|
|
; variable assignment
|
|
(assignment_expression
|
|
(left_assignment_expression
|
|
(logical_expression
|
|
(bitwise_expression
|
|
(comparison_expression
|
|
(additive_expression
|
|
(multiplicative_expression
|
|
(format_expression
|
|
(range_expression
|
|
(array_literal_expression
|
|
(unary_expression
|
|
(variable) @local.definition.var)))))))))))
|
|
|
|
; variable with type assignment
|
|
(assignment_expression
|
|
(left_assignment_expression
|
|
(logical_expression
|
|
(bitwise_expression
|
|
(comparison_expression
|
|
(additive_expression
|
|
(multiplicative_expression
|
|
(format_expression
|
|
(range_expression
|
|
(array_literal_expression
|
|
(unary_expression
|
|
(expression_with_unary_operator
|
|
(cast_expression
|
|
(type_literal
|
|
(type_spec) @local.definition.associated)
|
|
(unary_expression
|
|
(variable) @local.definition.var))))))))))))))
|
|
|
|
; data sections
|
|
(data_name
|
|
(simple_name) @local.definition.var)
|
|
|
|
; References
|
|
;-----------
|
|
(variable) @local.reference
|
|
|
|
(command_name) @local.reference
|
|
|
|
(invokation_expression
|
|
(variable) @_variable
|
|
(member_name
|
|
(simple_name) @local.reference)
|
|
(#eq? @_variable "$this"))
|