From 9f676dab57e6421dd4c33a7ccf16e12cfb9b62cf Mon Sep 17 00:00:00 2001 From: Michael Davis Date: Sun, 19 Jun 2022 21:36:33 -0500 Subject: [PATCH] add test textobjects queries for erlang,gleam,go,python,rust --- runtime/queries/erlang/textobjects.scm | 8 ++++++++ runtime/queries/gleam/textobjects.scm | 5 +++++ runtime/queries/go/textobjects.scm | 5 +++++ runtime/queries/python/textobjects.scm | 5 +++++ runtime/queries/rust/textobjects.scm | 14 ++++++++++++++ 5 files changed, 37 insertions(+) diff --git a/runtime/queries/erlang/textobjects.scm b/runtime/queries/erlang/textobjects.scm index c46b5c6f..013629f8 100644 --- a/runtime/queries/erlang/textobjects.scm +++ b/runtime/queries/erlang/textobjects.scm @@ -6,3 +6,11 @@ (stab_clause body: (_) @function.inside)) @function.around (comment (comment_content) @comment.inside) @comment.around + +; EUnit test names. +; (CommonTest cases are not recognizable by syntax alone.) +((function_clause + name: (atom) @_name + pattern: (arguments (_)? @parameter.inside) + body: (_) @test.inside) @test.around + (#match? @_name "_test$")) diff --git a/runtime/queries/gleam/textobjects.scm b/runtime/queries/gleam/textobjects.scm index b382f4bd..19cd0dcf 100644 --- a/runtime/queries/gleam/textobjects.scm +++ b/runtime/queries/gleam/textobjects.scm @@ -4,3 +4,8 @@ (anonymous_function body: (function_body) @function.inside) @function.around + +((function + name: (identifier) @_name + body: (function_body) @test.inside) @test.around + (#match? @_name "_test$")) diff --git a/runtime/queries/go/textobjects.scm b/runtime/queries/go/textobjects.scm index a48ccce1..df1b0866 100644 --- a/runtime/queries/go/textobjects.scm +++ b/runtime/queries/go/textobjects.scm @@ -26,3 +26,8 @@ (comment) @comment.inside (comment)+ @comment.around + +((function_declaration + name: (identifier) @_name + body: (block)? @test.inside) @test.around + (#match? @_name "^Test")) diff --git a/runtime/queries/python/textobjects.scm b/runtime/queries/python/textobjects.scm index 5c6a61d1..966e4744 100644 --- a/runtime/queries/python/textobjects.scm +++ b/runtime/queries/python/textobjects.scm @@ -16,3 +16,8 @@ (comment) @comment.inside (comment)+ @comment.around + +((function_definition + name: (identifier) @_name + body: (block)? @test.inside) @test.around + (#match? @_name "^test_")) diff --git a/runtime/queries/rust/textobjects.scm b/runtime/queries/rust/textobjects.scm index ba86050b..94c8c9f8 100644 --- a/runtime/queries/rust/textobjects.scm +++ b/runtime/queries/rust/textobjects.scm @@ -77,3 +77,17 @@ (line_comment)+ @comment.around (block_comment) @comment.around + +(; #[test] + (attribute_item + (meta_item + (identifier) @_test_attribute)) + ; allow other attributes like #[should_panic] and comments + [ + (attribute_item) + (line_comment) + ]* + ; the test function + (function_item + body: (_) @test.inside) @test.around + (#eq? @_test_attribute "test"))