mirror of
https://github.com/helix-editor/helix
synced 2026-08-05 02:33:01 +02:00
35 lines
841 B
Scheme
35 lines
841 B
Scheme
; Scopes
|
|
|
|
[
|
|
(block)
|
|
(defined_resource_type)
|
|
(function_declaration)
|
|
(attribute_type_entry)
|
|
(class_definition)
|
|
(node_definition)
|
|
(resource_declaration)
|
|
(selector)
|
|
(iterator_statement)
|
|
(case_statement)
|
|
(hash)
|
|
(array)
|
|
] @local.scope
|
|
|
|
; Definitions
|
|
;
|
|
; Only variables and parameters are tracked: types, functions and namespaces
|
|
; already get their correct highlight straight from highlights.scm, and their
|
|
; identifier segments are always the innermost node at their position, so
|
|
; resolving them again here would have no visible effect.
|
|
|
|
(parameter (variable (identifier) @local.definition.variable.parameter))
|
|
|
|
(assignment . (variable (identifier) @local.definition.variable))
|
|
|
|
; References
|
|
|
|
(identifier) @local.reference
|
|
|
|
; Attribute names are hash-like keys, not variable references.
|
|
(attribute name: (identifier) @_)
|