diff --git a/helix-core/src/movement.rs b/helix-core/src/movement.rs index 2155f77a..fa8cdf3a 100644 --- a/helix-core/src/movement.rs +++ b/helix-core/src/movement.rs @@ -396,9 +396,9 @@ pub fn goto_treesitter_object( dir: Direction, slice_tree: Node, lang_config: &LanguageConfiguration, - _count: usize, + count: usize, ) -> Range { - let get_range = move || -> Option { + let get_range = move |range: Range| -> Option { let byte_pos = slice.char_to_byte(range.cursor(slice)); let cap_name = |t: TextObject| format!("{}.{}", object_name, t); @@ -436,7 +436,7 @@ pub fn goto_treesitter_object( // head of range should be at beginning Some(Range::new(end_char, start_char)) }; - get_range().unwrap_or(range) + (0..count).fold(range, |range, _| get_range(range).unwrap_or(range)) } #[cfg(test)]