diff options
author | Gokul Soumya | 2021-10-23 02:41:19 +0000 |
---|---|---|
committer | GitHub | 2021-10-23 02:41:19 +0000 |
commit | 4ee92cad19cc94f0751f91fa9391d1899353d740 (patch) | |
tree | 794be048905f5d5026ba1968dc0152d12473c024 /runtime/queries/rust | |
parent | c5298caa752dee136ab1a21dae27a702a00d8eea (diff) |
Add treesitter textobjects (#728)
* Add treesitter textobject queries
Only for Go, Python and Rust for now.
* Add tree-sitter textobjects
Only has functions and class objects as of now.
* Fix tests
* Add docs for tree-sitter textobjects
* Add guide for creating new textobject queries
* Add parameter textobject
Only parameter.inside is implemented now, parameter.around
will probably require custom predicates akin to nvim' `make-range`
since we want to select a trailing comma too (a comma will be
an anonymous node and matching against them doesn't work similar
to named nodes)
* Simplify TextObject cell init
Diffstat (limited to 'runtime/queries/rust')
-rw-r--r-- | runtime/queries/rust/textobjects.scm | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/runtime/queries/rust/textobjects.scm b/runtime/queries/rust/textobjects.scm new file mode 100644 index 00000000..e3132687 --- /dev/null +++ b/runtime/queries/rust/textobjects.scm @@ -0,0 +1,26 @@ +(function_item + body: (_) @function.inside) @function.around + +(struct_item + body: (_) @class.inside) @class.around + +(enum_item + body: (_) @class.inside) @class.around + +(union_item + body: (_) @class.inside) @class.around + +(trait_item + body: (_) @class.inside) @class.around + +(impl_item + body: (_) @class.inside) @class.around + +(parameters + (_) @parameter.inside) + +(closure_parameters + (_) @parameter.inside) + +(arguments + (_) @parameter.inside) |