37 lines
833 B
Scheme
37 lines
833 B
Scheme
[
|
|
(entity)
|
|
(method)
|
|
(behavior)
|
|
(constructor)
|
|
("if")
|
|
(elseif)
|
|
(ifdef)
|
|
(elseifdef)
|
|
(iftype)
|
|
(elseiftype)
|
|
(match)
|
|
(match_case)
|
|
("while")
|
|
("repeat")
|
|
("for")
|
|
(lambda)
|
|
(try_block)
|
|
(with)
|
|
] @local.scope
|
|
(match else_block: (block) @local.scope)
|
|
(try_block else_block: (block) @local.scope)
|
|
(try_block then_block: (block) @local.scope)
|
|
(with else_block: (block) @local.scope)
|
|
|
|
(field name: (identifier) @local.definition)
|
|
(local name: (identifier) @local.definition)
|
|
(param name: (identifier) @local.definition)
|
|
(lambdaparam name: (identifier) @local.definition)
|
|
("for" element: (idseq (identifier) @local.definition))
|
|
(withelem name: (idseq (identifier) @local.definition))
|
|
|
|
; only lower case identifiers are references
|
|
(
|
|
(identifier) @local.reference
|
|
(#match? @local.reference "^[a-z_][a-zA-Z_]*")
|
|
)
|