diff options
| author | Stephan Seitz <stephan.seitz@fau.de> | 2020-06-27 20:05:35 +0200 |
|---|---|---|
| committer | Thomas Vigouroux <39092278+vigoux@users.noreply.github.com> | 2020-07-14 22:34:43 +0200 |
| commit | 5e83307a439f5a432f056f5731381ff911f2a155 (patch) | |
| tree | 07e46ecefe9cf004157de8d022d36c905686b23e /queries | |
| parent | Add Python textobjects (diff) | |
| download | nvim-treesitter-5e83307a439f5a432f056f5731381ff911f2a155.tar nvim-treesitter-5e83307a439f5a432f056f5731381ff911f2a155.tar.gz nvim-treesitter-5e83307a439f5a432f056f5731381ff911f2a155.tar.bz2 nvim-treesitter-5e83307a439f5a432f056f5731381ff911f2a155.tar.lz nvim-treesitter-5e83307a439f5a432f056f5731381ff911f2a155.tar.xz nvim-treesitter-5e83307a439f5a432f056f5731381ff911f2a155.tar.zst nvim-treesitter-5e83307a439f5a432f056f5731381ff911f2a155.zip | |
Add C/C++ textobjects
Diffstat (limited to 'queries')
| -rw-r--r-- | queries/c/textobjects.scm | 47 | ||||
| -rw-r--r-- | queries/cpp/textobjects.scm | 6 |
2 files changed, 53 insertions, 0 deletions
diff --git a/queries/c/textobjects.scm b/queries/c/textobjects.scm index 7b59d5123..839169164 100644 --- a/queries/c/textobjects.scm +++ b/queries/c/textobjects.scm @@ -6,3 +6,50 @@ (function_definition body: (compound_statement) @function.inner) @function.outer + +(struct_specifier + body: (_) @class.inner) @class.outer + +; conditional +(if_statement + consequence: (_)? @conditional.inner + alternative: (_)? @conditional.inner + ) @conditional.outer + +(if_statement + condition: (_) @conditional.inner) + +; loops +(for_statement + (_)? @loop.inner) @loop.outer +(while_statement + (_)? @loop.inner) @loop.outer +(do_statement + (_)? @loop.inner) @loop.outer + + +(compound_statement) @block.outer +(comment) @comment.outer + +(call_expression) @call.outer +(call_expression (_) @call.inner) + +; Statements + +;(expression_statement ;; this is what we actually want to capture in most cases (";" is missing) probaly + ;(_) @statement.inner) ;; the otther statement like node type is declaration but declaration has a ";" + +(compound_statement + (_) @statement.outer) + +(field_declaration_list + (_) @statement.outer) + +(preproc_if + (_) @statement.outer) + +(preproc_elif + (_) @statement.outer) + +(preproc_else + (_) @statement.outer) diff --git a/queries/cpp/textobjects.scm b/queries/cpp/textobjects.scm new file mode 100644 index 000000000..2a808047a --- /dev/null +++ b/queries/cpp/textobjects.scm @@ -0,0 +1,6 @@ + +(class_specifier + body: (_) @class.inner) @class.outer + +(for_range_loop + (_)? @loop.inner) @loop.outer |
