helix-mirror/runtime/queries/ruby/textobjects.scm
2022-11-07 19:43:00 -06:00

45 lines
934 B
Scheme

; Class and Modules
(class
body: (_)? @class.inside) @class.around
(singleton_class
value: (_)
(_)+ @class.inside) @class.around
(call
receiver: (constant) @class_const
method: (identifier) @class_method
(#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
(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.around
(block_parameters
(_) @parameter.inside) @parameter.around
(lambda_parameters
(_) @parameter.inside) @parameter.around
; Comments
(comment) @comment.inside
(comment)+ @comment.around