aboutsummaryrefslogtreecommitdiff
path: root/helix-core/src/movement.rs
diff options
context:
space:
mode:
authorGokul Soumya2022-02-11 03:31:52 +0000
committerBlaž Hrastnik2022-02-15 05:04:46 +0000
commitab2a0f325b906574698933824b381ed65c7482a3 (patch)
treee48dc274f88f14e79e695a27442d5b07a01e2a6b /helix-core/src/movement.rs
parent989407f190d543154e33630b07f4a53d13798d72 (diff)
Add object.movement for tree-sitter navigation
Diffstat (limited to 'helix-core/src/movement.rs')
-rw-r--r--helix-core/src/movement.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/helix-core/src/movement.rs b/helix-core/src/movement.rs
index e9cd299b..e559f1ea 100644
--- a/helix-core/src/movement.rs
+++ b/helix-core/src/movement.rs
@@ -321,10 +321,14 @@ pub fn goto_treesitter_object(
let get_range = move || -> Option<Range> {
let byte_pos = slice.char_to_byte(range.cursor(slice));
- let capture_name = format!("{}.{}", object_name, TextObject::Around);
+ let cap_name = |t: TextObject| format!("{}.{}", object_name, t);
let mut cursor = QueryCursor::new();
- let nodes = lang_config.textobject_query()?.capture_nodes(
- &capture_name,
+ let nodes = lang_config.textobject_query()?.capture_nodes_any(
+ &[
+ &cap_name(TextObject::Movement),
+ &cap_name(TextObject::Around),
+ &cap_name(TextObject::Inside),
+ ],
slice_tree,
slice,
&mut cursor,