helix-mods/runtime/queries/ruby/textobjects.scm

56 lines
1.1 KiB
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
(pair
(_) @entry.inside) @entry.around
(array
(_) @entry.around)
(string_array
(_) @entry.around)
(symbol_array
(_) @entry.around)