From ee4cd7b0fd6a0995f6bd18c32a95cb4dc248828f Mon Sep 17 00:00:00 2001 From: winwisely268 Date: Thu, 16 Jul 2020 08:58:19 +0000 Subject: added textobject support for golang --- queries/go/textobjects.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 queries/go/textobjects.scm diff --git a/queries/go/textobjects.scm b/queries/go/textobjects.scm new file mode 100644 index 000000000..61b968f3b --- /dev/null +++ b/queries/go/textobjects.scm @@ -0,0 +1,37 @@ +;; function textobject +(function_declaration + body: (block)? @function.inner) @function.outer + +;; method as function textobject +(method_declaration + body: (block)? @function.inner) @function.outer + +;; struct and interface declaration as class textobject? +(type_declaration + (type_spec (type_identifier) (struct_type (field_declaration_list (_)?) @class.inner))) @class.outer + +(type_declaration + (type_spec (type_identifier) (interface_type (method_spec_list (_)?) @class.inner))) @class.outer + +;; struct literals as class textobject +(composite_literal + (type_identifier)? + (struct_type (_))? + (literal_value (_)) @class.inner) @class.outer + +;; conditionals +(if_statement + alternative: (_ (_) @conditional.inner)?) @conditional.outer + +(if_statement + consequence: (block)? @conditional.inner) + +(if_statement + condition: (_) @conditional.inner) + +;; blocks +(_ (block) @block.inner) @block.outer +;; statements +(block (_) @statement.outer) +;; comments +(comment) @comment.outer -- cgit v1.2.3-70-g09d2