@@ -396,9 +396,9 @@ pub fn goto_treesitter_object(
396396 dir: Direction,
397397 slice_tree: Node,
398398 lang_config: &LanguageConfiguration,
399− _count: usize,
399+ count: usize,
400400) -> Range {
401− let get_range = move || -> Option<Range> {
401+ let get_range = move |range: Range| -> Option<Range> {
402402 let byte_pos = slice.char_to_byte(range.cursor(slice));
403403
404404 let cap_name = |t: TextObject| format!("{}.{}", object_name, t);
@@ -436,7 +436,7 @@ pub fn goto_treesitter_object(
436436 // head of range should be at beginning
437437 Some(Range::new(end_char, start_char))
438438 };
439− get_range().unwrap_or(range)
439+ (0..count).fold(range, |range, _| get_range(range).unwrap_or(range))
440440}
441441
442442#[cfg(test)]