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, 21 insertions, 8 deletions
diff --git a/runtime/queries/go/locals.scm b/runtime/queries/go/locals.scm
index 2ba63bed..14a6f3e4 100644
--- a/runtime/queries/go/locals.scm
+++ b/runtime/queries/go/locals.scm
@@ -2,24 +2,37 @@
[
(function_declaration)
- (method_declaration)
(type_declaration)
(block)
] @local.scope
; Definitions
-(parameter_declaration (identifier) @local.definition.variable.parameter)
-(variadic_parameter_declaration (identifier) @local.definition.variable.parameter)
+(type_parameter_list
+ (parameter_declaration
+ name: (identifier) @local.definition))
+
+(parameter_declaration (identifier) @local.definition)
+(variadic_parameter_declaration (identifier) @local.definition)
+
+(short_var_declaration
+ left: (expression_list
+ (identifier) @local.definition))
+
+(var_spec
+ (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 names in struct literals are identifier rather than field_identifier,
-; these cannot be locals.
-(keyed_element . (literal_element (identifier) @variable.other.member))
+(field_identifier) @local.reference
+(type_identifier) @local.reference