Unfold range when selecting the next match

Selected matches are unfolded when in project search, buffer search and
when hitting `cmd-d` to select the next match.
This commit is contained in:
Antonio Scandurra 2022-03-24 17:16:21 +01:00
parent 78b52168fa
commit 7fa7b7e507
3 changed files with 6 additions and 5 deletions

View file

@ -3907,6 +3907,7 @@ impl Editor {
reversed: false,
goal: SelectionGoal::None,
});
self.unfold_ranges([next_selected_range], false, cx);
self.update_selections(selections, Some(Autoscroll::Newest), cx);
} else {
select_next_state.done = true;
@ -3934,6 +3935,7 @@ impl Editor {
wordwise: true,
done: false,
};
self.unfold_ranges([selection.start..selection.end], false, cx);
self.update_selections(selections, Some(Autoscroll::Newest), cx);
self.select_next_state = Some(select_state);
} else {

View file

@ -336,11 +336,9 @@ impl SearchBar {
direction,
&editor.buffer().read(cx).read(cx),
);
editor.select_ranges(
[ranges[new_index].clone()],
Some(Autoscroll::Fit),
cx,
);
let range_to_select = ranges[new_index].clone();
editor.unfold_ranges([range_to_select.clone()], false, cx);
editor.select_ranges([range_to_select], Some(Autoscroll::Fit), cx);
}
});
}

View file

@ -489,6 +489,7 @@ impl ProjectSearchView {
);
let range_to_select = model.match_ranges[new_index].clone();
self.results_editor.update(cx, |editor, cx| {
editor.unfold_ranges([range_to_select.clone()], false, cx);
editor.select_ranges([range_to_select], Some(Autoscroll::Fit), cx);
});
}