Ruby TextObjects and more file extensions (#2143)

This commit is contained in:
Danillo Melo 2022-04-17 21:25:44 -03:00 committed by GitHub
parent ad36a024da
commit be656c14e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 56 additions and 2 deletions

View File

@ -61,7 +61,7 @@
| rescript | ✓ | ✓ | | `rescript-language-server` |
| rmarkdown | ✓ | | ✓ | `R` |
| ron | ✓ | | ✓ | |
| ruby | ✓ | | ✓ | `solargraph` |
| ruby | ✓ | | ✓ | `solargraph` |
| rust | ✓ | ✓ | ✓ | `rust-analyzer` |
| scala | ✓ | | ✓ | `metals` |
| solidity | ✓ | | | `solc` |

View File

@ -399,7 +399,7 @@ source = { git = "https://github.com/cstrahan/tree-sitter-nix", rev = "50f38ceab
name = "ruby"
scope = "source.ruby"
injection-regex = "ruby"
file-types = ["rb"]
file-types = ["rb", "rake", "rakefile", "irb", "gemfile", "gemspec"]
shebangs = ["ruby"]
roots = []
comment-token = "#"

View File

@ -0,0 +1,54 @@
; Class
(class) @class.around
(class [(constant) (scope_resolution)] !superclass
(_)+ @class.inside)
(class [(constant) (scope_resolution)] (superclass)
(_)+ @class.inside)
(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
; Functions
(method) @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)
(block_parameters
(_) @parameter.inside)
(lambda_parameters
(_) @parameter.inside)
; Comments
(comment) @comment.inside
(comment)+ @comment.around