55 lines
1.1 KiB
Scheme
55 lines
1.1 KiB
Scheme
; SPDX-License-Identifier: Apache-2.0
|
|
; Source: nvim-treesitter (https://github.com/nvim-treesitter/nvim-treesitter)
|
|
|
|
; Scopes
|
|
;-------
|
|
(statement_block) @local.scope
|
|
|
|
(function_expression) @local.scope
|
|
|
|
(arrow_function) @local.scope
|
|
|
|
(function_declaration) @local.scope
|
|
|
|
(method_definition) @local.scope
|
|
|
|
(for_statement) @local.scope
|
|
|
|
(for_in_statement) @local.scope
|
|
|
|
(catch_clause) @local.scope
|
|
|
|
; Definitions
|
|
;------------
|
|
(variable_declarator
|
|
name: (identifier) @local.definition.var)
|
|
|
|
(variable_declarator
|
|
name: (object_pattern
|
|
(shorthand_property_identifier_pattern) @local.definition.var))
|
|
|
|
(variable_declarator
|
|
(object_pattern
|
|
(pair_pattern
|
|
(identifier) @local.definition.var)))
|
|
|
|
(import_specifier
|
|
(identifier) @local.definition.import)
|
|
|
|
(namespace_import
|
|
(identifier) @local.definition.import)
|
|
|
|
(function_declaration
|
|
(identifier) @local.definition.function
|
|
(#set! definition.var.scope parent))
|
|
|
|
(method_definition
|
|
(property_identifier) @local.definition.function
|
|
(#set! definition.var.scope parent))
|
|
|
|
; References
|
|
;------------
|
|
(identifier) @local.reference
|
|
|
|
(shorthand_property_identifier) @local.reference
|