diff options
| author | winwisely268 <winwisely268@gmail.com> | 2020-07-17 15:49:43 +0000 |
|---|---|---|
| committer | Thomas Vigouroux <39092278+vigoux@users.noreply.github.com> | 2020-07-17 20:44:43 +0200 |
| commit | 59c084b5d837165328da0fe19a8155f95673ee51 (patch) | |
| tree | f855574e6ce01cf7467ca3b6ca161f7e10df3dbf /queries/rust | |
| parent | fix(highlights): add array strings (diff) | |
| download | nvim-treesitter-59c084b5d837165328da0fe19a8155f95673ee51.tar nvim-treesitter-59c084b5d837165328da0fe19a8155f95673ee51.tar.gz nvim-treesitter-59c084b5d837165328da0fe19a8155f95673ee51.tar.bz2 nvim-treesitter-59c084b5d837165328da0fe19a8155f95673ee51.tar.lz nvim-treesitter-59c084b5d837165328da0fe19a8155f95673ee51.tar.xz nvim-treesitter-59c084b5d837165328da0fe19a8155f95673ee51.tar.zst nvim-treesitter-59c084b5d837165328da0fe19a8155f95673ee51.zip | |
go loop and func literal, rust textobject support
Diffstat (limited to 'queries/rust')
| -rw-r--r-- | queries/rust/textobjects.scm | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/queries/rust/textobjects.scm b/queries/rust/textobjects.scm new file mode 100644 index 000000000..adc9ac6da --- /dev/null +++ b/queries/rust/textobjects.scm @@ -0,0 +1,73 @@ +;; functions +(function_item + (_) @function.inner) @function.outer + +;; quantifies as class(es) +(struct_item + (_) @class.inner) @class.outer + +(enum_item + (_) @class.inner) @class.outer + +(union_item + (_) @class.inner) @class.outer + +(trait_item + (_) @class.inner) @class.outer + +(impl_item + (_) @class.inner) @class.outer + +;; conditionals +(if_expression + alternative: (_ (_)? @conditional.inner)? + ) @conditional.outer + +(if_expression + alternative: (block)? @conditional.inner) + +(if_expression + condition: (_) @conditional.inner) + +(if_expression + consequence: (block)? @conditional.inner) + +(match_arm + (_)) @conditional.inner + +(match_expression + (match_arm)? + ) @conditional.outer + +(if_let_expression + consequence: (block)? + @conditional.inner) @conditional.outer + +(if_let_expression + alternative: (block)? @conditional.inner) + +(if_let_expression + condition: (_) @conditional.inner) + +;; loops +(loop_expression + (_)? @loop.inner) @loop.outer + +(while_expression + (_)? @loop.inner) @loop.outer + +(while_let_expression + (_)? @loop.inner) @loop.outer + +(for_expression + body: (block)? @loop.inner) @loop.outer + +;; blocks +(_ (block) @block.inner) @block.outer +(unsafe_block (_)? @block.inner) @block.outer + +;; calls +(call_expression (_)? @call.inner) @call.outer + +;; statements +(block (_) @statement.outer) |
