Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/ruby/textobjects.scm')
-rw-r--r--runtime/queries/ruby/textobjects.scm62
1 files changed, 30 insertions, 32 deletions
diff --git a/runtime/queries/ruby/textobjects.scm b/runtime/queries/ruby/textobjects.scm
index 123c5567..34888c17 100644
--- a/runtime/queries/ruby/textobjects.scm
+++ b/runtime/queries/ruby/textobjects.scm
@@ -1,6 +1,11 @@
-; Class and Modules
-(class
- body: (_)? @class.inside) @class.around
+; Class
+(class) @class.around
+
+(class [(constant) (scope_resolution)] !superclass
+ (_)+ @class.inside)
+
+(class [(constant) (scope_resolution)] (superclass)
+ (_)+ @class.inside)
(singleton_class
value: (_)
@@ -12,45 +17,38 @@
(#match? @class_const "Class")
(#match? @class_method "new")
(do_block (_)+ @class.inside)) @class.around
-
-(module
- body: (_)? @class.inside) @class.around
-; Functions and Blocks
-(singleton_method
- body: (_)? @function.inside) @function.around
+; Functions
+(method) @function.around
-(method
- body: (_)? @function.inside) @function.around
-
-(do_block
- body: (_)? @function.inside) @function.around
-
-(block
- 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)
; Parameters
(method_parameters
- (_) @parameter.inside) @parameter.around
+ (_) @parameter.inside)
(block_parameters
- (_) @parameter.inside) @parameter.around
+ (_) @parameter.inside)
(lambda_parameters
- (_) @parameter.inside) @parameter.around
+ (_) @parameter.inside)
; Comments
(comment) @comment.inside
(comment)+ @comment.around
-
-(pair
- (_) @entry.inside) @entry.around
-
-(array
- (_) @entry.around)
-
-(string_array
- (_) @entry.around)
-
-(symbol_array
- (_) @entry.around)