summaryrefslogtreecommitdiff
path: root/runtime/queries/go
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/queries/go')
-rw-r--r--runtime/queries/go/highlights.scm6
-rw-r--r--runtime/queries/go/textobjects.scm21
2 files changed, 24 insertions, 3 deletions
diff --git a/runtime/queries/go/highlights.scm b/runtime/queries/go/highlights.scm
index 3129c4b2..56384d4d 100644
--- a/runtime/queries/go/highlights.scm
+++ b/runtime/queries/go/highlights.scm
@@ -25,7 +25,7 @@
(variadic_parameter_declaration (identifier) @variable.parameter)
(type_identifier) @type
-(field_identifier) @property
+(field_identifier) @variable.other.member
(identifier) @variable
(package_identifier) @variable
@@ -130,13 +130,13 @@
(rune_literal)
] @string
-(escape_sequence) @escape
+(escape_sequence) @constant.character.escape
[
(int_literal)
(float_literal)
(imaginary_literal)
-] @number
+] @constant.numeric.integer
[
(true)
diff --git a/runtime/queries/go/textobjects.scm b/runtime/queries/go/textobjects.scm
new file mode 100644
index 00000000..9bcfc690
--- /dev/null
+++ b/runtime/queries/go/textobjects.scm
@@ -0,0 +1,21 @@
+(function_declaration
+ body: (block)? @function.inside) @function.around
+
+(func_literal
+ (_)? @function.inside) @function.around
+
+(method_declaration
+ body: (block)? @function.inside) @function.around
+
+;; struct and interface declaration as class textobject?
+(type_declaration
+ (type_spec (type_identifier) (struct_type (field_declaration_list (_)?) @class.inside))) @class.around
+
+(type_declaration
+ (type_spec (type_identifier) (interface_type (method_spec_list (_)?) @class.inside))) @class.around
+
+(parameter_list
+ (_) @parameter.inside)
+
+(argument_list
+ (_) @parameter.inside)