mirror of
https://github.com/helix-editor/helix
synced 2026-08-05 14:42:57 +02:00
54 lines
1.1 KiB
Scheme
54 lines
1.1 KiB
Scheme
; Scopes
|
|
|
|
[
|
|
(chunk)
|
|
(function_declaration)
|
|
(function_definition)
|
|
(do_statement)
|
|
(while_statement)
|
|
(repeat_statement)
|
|
(if_statement)
|
|
(for_statement)
|
|
] @local.scope
|
|
|
|
; Definitions
|
|
|
|
(parameters
|
|
(identifier) @local.definition.variable.parameter)
|
|
|
|
; `self` in a method is an implicit parameter.
|
|
(parameters
|
|
(identifier) @local.definition.variable.builtin
|
|
(#eq? @local.definition.variable.builtin "self"))
|
|
|
|
(for_numeric_clause
|
|
name: (identifier) @local.definition.variable)
|
|
|
|
(for_generic_clause
|
|
(variable_list
|
|
(variable
|
|
(identifier) @local.definition.variable)))
|
|
|
|
; `local x, y = ...`
|
|
(variable_declaration
|
|
(assignment_statement
|
|
(variable_list
|
|
(variable
|
|
(identifier) @local.definition.variable))))
|
|
(variable_declaration
|
|
(variable_list
|
|
(variable
|
|
(identifier) @local.definition.variable)))
|
|
|
|
; References
|
|
|
|
(identifier) @local.reference
|
|
|
|
; Field/member names are not variable references.
|
|
(dot_index_expression
|
|
field: (identifier) @_)
|
|
(method_index_expression
|
|
method: (identifier) @_)
|
|
(field
|
|
name: (identifier) @_)
|