nvim-treesitter/queries/lua/locals.scm
Santos Gallegos e5319aa9aa Lua: improve scope queries
- Set scope to parent
- Group all scopes
- Use the . operator
2021-02-07 15:26:34 +01:00

51 lines
1.1 KiB
Scheme

;;; DECLARATIONS AND SCOPES
;; Variable and field declarations
((variable_declarator
(identifier) @definition.var))
((variable_declarator
(field_expression . (_) @definition.associated (property_identifier) @definition.var)))
;; Parameters
(parameters (identifier) @definition.parameter)
;; Loops
((loop_expression
(identifier) @definition.var))
;; Function definitions
((function
(function_name
(function_name_field
(identifier) @definition.associated . (property_identifier) @definition.method)))
(#set! definition.method.scope "parent"))
((function
(function_name (identifier) @definition.function))
(#set! definition.function.scope "parent"))
((local_function (identifier) @definition.function)
(#set! definition.function.scope "parent"))
(local_variable_declaration
(variable_declarator (identifier) @definition.function) . (function_definition))
;; Scopes
[
(program)
(function)
(local_function)
(function_definition)
(if_statement)
(for_in_statement)
(repeat_statement)
(while_statement)
(do_statement)
] @scope
;;; REFERENCES
[
(identifier)
(property_identifier)
] @reference