Remove into SelectionEffects from .change_selections (#33554)

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

Closes #ISSUE

Release Notes:

- N/A
This commit is contained in:
Conrad Irwin 2025-06-27 14:31:31 -06:00 committed by GitHub
parent 6e762d9c05
commit a675ca7a1e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
65 changed files with 837 additions and 625 deletions

View file

@ -4,8 +4,8 @@ use std::{
sync::Arc,
};
use editor::RowHighlightOptions;
use editor::{Anchor, AnchorRangeExt, Editor, scroll::Autoscroll};
use editor::{RowHighlightOptions, SelectionEffects};
use fuzzy::StringMatch;
use gpui::{
App, Context, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, HighlightStyle,
@ -288,9 +288,12 @@ impl PickerDelegate for OutlineViewDelegate {
.highlighted_rows::<OutlineRowHighlights>()
.next();
if let Some((rows, _)) = highlight {
active_editor.change_selections(Some(Autoscroll::center()), window, cx, |s| {
s.select_ranges([rows.start..rows.start])
});
active_editor.change_selections(
SelectionEffects::scroll(Autoscroll::center()),
window,
cx,
|s| s.select_ranges([rows.start..rows.start]),
);
active_editor.clear_row_highlights::<OutlineRowHighlights>();
window.focus(&active_editor.focus_handle(cx));
}