Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/go/locals.scm')
-rw-r--r--runtime/queries/go/locals.scm29
1 files changed, 17 insertions, 12 deletions
diff --git a/runtime/queries/go/locals.scm b/runtime/queries/go/locals.scm
index 2ba63bed..d240e2b7 100644
--- a/runtime/queries/go/locals.scm
+++ b/runtime/queries/go/locals.scm
@@ -1,25 +1,30 @@
; Scopes
-[
- (function_declaration)
- (method_declaration)
- (type_declaration)
- (block)
-] @local.scope
+(block) @local.scope
; Definitions
-(parameter_declaration (identifier) @local.definition.variable.parameter)
-(variadic_parameter_declaration (identifier) @local.definition.variable.parameter)
+(parameter_declaration (identifier) @local.definition)
+(variadic_parameter_declaration (identifier) @local.definition)
+
+(short_var_declaration
+ left: (expression_list
+ (identifier) @local.definition))
+
+(var_spec
+ name: (identifier) @local.definition)
+
+(for_statement
+ (range_clause
+ left: (expression_list
+ (identifier) @local.definition)))
(const_declaration
(const_spec
- name: (identifier) @local.definition.constant))
+ name: (identifier) @local.definition))
; References
(identifier) @local.reference
+(field_identifier) @local.reference
-; Field names in struct literals are identifier rather than field_identifier,
-; these cannot be locals.
-(keyed_element . (literal_element (identifier) @variable.other.member))