aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/queries/ruby/textobjects.scm50
1 files changed, 20 insertions, 30 deletions
diff --git a/runtime/queries/ruby/textobjects.scm b/runtime/queries/ruby/textobjects.scm
index 34888c17..2d48fa6f 100644
--- a/runtime/queries/ruby/textobjects.scm
+++ b/runtime/queries/ruby/textobjects.scm
@@ -1,11 +1,6 @@
-; Class
-(class) @class.around
-
-(class [(constant) (scope_resolution)] !superclass
- (_)+ @class.inside)
-
-(class [(constant) (scope_resolution)] (superclass)
- (_)+ @class.inside)
+; Class and Modules
+(class
+ body: (_)? @class.inside) @class.around
(singleton_class
value: (_)
@@ -17,37 +12,32 @@
(#match? @class_const "Class")
(#match? @class_method "new")
(do_block (_)+ @class.inside)) @class.around
+
+(module
+ body: (_)? @class.inside) @class.around
-; Functions
-(method) @function.around
+; Functions and Blocks
+(singleton_method
+ body: (_)? @function.inside) @function.around
-(method (identifier) (method_parameters)
- (_)+ @function.inside)
-
-(do_block !parameters
- (_)+ @function.inside)
-
-(do_block (block_parameters)
- (_)+ @function.inside)
-
-(block (block_parameters)
- (_)+ @function.inside)
-
-(block !parameters
- (_)+ @function.inside)
-
-(method (identifier) !parameters
- (_)+ @function.inside)
+(method
+ body: (_)? @function.inside) @function.around
+
+(do_block
+ body: (_)? @function.inside) @function.around
+
+(block
+ body: (_)? @function.inside) @function.around
; Parameters
(method_parameters
- (_) @parameter.inside)
+ (_) @parameter.inside) @parameter.around
(block_parameters
- (_) @parameter.inside)
+ (_) @parameter.inside) @parameter.around
(lambda_parameters
- (_) @parameter.inside)
+ (_) @parameter.inside) @parameter.around
; Comments
(comment) @comment.inside