nvim-treesitter/queries/javascript/locals.scm
2020-08-16 09:10:09 -05:00

54 lines
1 KiB
Scheme

; Scopes
;-------
(statement_block) @scope
(function) @scope
(arrow_function) @scope
(function_declaration) @scope
(method_definition) @scope
(for_statement) @scope
(for_in_statement) @scope
(catch_clause) @scope
; Definitions
;------------
(formal_parameters
(identifier) @definition.var)
(formal_parameters
(object_pattern
(identifier) @definition.var))
; function(arg = []) {
(formal_parameters
(assignment_pattern
(shorthand_property_identifier) @definition.var))
(formal_parameters
(object_pattern
(shorthand_property_identifier) @definition.var))
(formal_parameters
(array_pattern
(identifier) @definition.var))
(formal_parameters
(rest_parameter
(identifier) @definition.var))
(variable_declarator
name: (identifier) @definition.var)
(import_specifier
(identifier) @definition.import)
(function_declaration
((identifier) @definition.var)
(#set! definition.var.scope parent))
; References
;------------
(identifier) @reference
(shorthand_property_identifier) @reference