nvim-treesitter/queries/squirrel/locals.scm
Christian Clason 99ddf57353
feat(highlights)!: enforce documented captures (#6232)
Problem: Allowing undocumented "secret" (sub)captures makes it harder
to write comprehensive colorschemes and catch inconsistent captures.

Solution: Only allow captures listed in CONTRIBUTING.md. Add useful
(cross-language) subcaptures and drop language-specific or too niche
ones.

Follow-up: Adding further `*.builtin` captures and changing queries to
use them.

Language-specific subcaptures should instead be added in user config or
a custom language plugin.
2024-03-03 11:00:11 +01:00

75 lines
1.2 KiB
Scheme

; Scopes
[
(script)
(class_declaration)
(enum_declaration)
(function_declaration)
(attribute_declaration)
(array)
(block)
(table)
(anonymous_function)
(parenthesized_expression)
(if_statement)
(else_statement)
(while_statement)
(do_while_statement)
(switch_statement)
(for_statement)
(foreach_statement)
(try_statement)
(catch_statement)
] @local.scope
; References
[
(identifier)
(global_variable)
] @local.reference
; Definitions
(const_declaration
.
(identifier) @local.definition.constant)
(enum_declaration
.
(identifier) @local.definition.enum)
(member_declaration
(identifier) @local.definition.field
.
"=")
(table_slot
.
(identifier) @local.definition.field
.
[
"="
":"
])
((function_declaration
.
(identifier) @local.definition.function)
(#not-has-ancestor? @local.definition.function member_declaration))
(member_declaration
(function_declaration
.
(identifier) @local.definition.method))
(class_declaration
.
(identifier) @local.definition.type)
(var_statement
"var"
.
(identifier) @local.definition.var)
(local_declaration
(identifier) @local.definition.var
.
"=")