Remove into SelectionEffects from .change_selections

In #32656 I generalized the argument to change selections to allow
controling both the scroll and the nav history (and the completion
trigger).

To avoid conflicting with ongoing debugger cherry-picks I left the
argument as an `impl Into<>`, but I think it's clearer to make callers
specify what they want here.

I converted a lot of `None` arguments to `SelectionEffects::no_scroll()`
to be exactly compatible; but I think many people used none as an "i
don't care" value in which case Default::default() might be more
appropraite
This commit is contained in:
Conrad Irwin 2025-06-27 09:48:17 -06:00
parent f338c46bf7
commit 28380d714d
65 changed files with 837 additions and 625 deletions

View file

@ -1352,7 +1352,7 @@ impl ProjectItem for Editor {
cx,
);
if !restoration_data.selections.is_empty() {
editor.change_selections(None, window, cx, |s| {
editor.change_selections(SelectionEffects::no_scroll(), window, cx, |s| {
s.select_ranges(clip_ranges(&restoration_data.selections, &snapshot));
});
}
@ -1558,7 +1558,7 @@ impl SearchableItem for Editor {
) {
self.unfold_ranges(&[matches[index].clone()], false, true, cx);
let range = self.range_for_match(&matches[index]);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
self.change_selections(Default::default(), window, cx, |s| {
s.select_ranges([range]);
})
}
@ -1570,7 +1570,7 @@ impl SearchableItem for Editor {
cx: &mut Context<Self>,
) {
self.unfold_ranges(matches, false, false, cx);
self.change_selections(None, window, cx, |s| {
self.change_selections(SelectionEffects::no_scroll(), window, cx, |s| {
s.select_ranges(matches.iter().cloned())
});
}