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

@ -1,6 +1,6 @@
use anyhow::Result;
use collections::{HashMap, HashSet};
use editor::CompletionProvider;
use editor::{CompletionProvider, SelectionEffects};
use editor::{CurrentLineHighlight, Editor, EditorElement, EditorEvent, EditorStyle, actions::Tab};
use gpui::{
Action, App, Bounds, Entity, EventEmitter, Focusable, PromptLevel, Subscription, Task,
@ -895,10 +895,15 @@ impl RulesLibrary {
}
EditorEvent::Blurred => {
title_editor.update(cx, |title_editor, cx| {
title_editor.change_selections(None, window, cx, |selections| {
let cursor = selections.oldest_anchor().head();
selections.select_anchor_ranges([cursor..cursor]);
});
title_editor.change_selections(
SelectionEffects::no_scroll(),
window,
cx,
|selections| {
let cursor = selections.oldest_anchor().head();
selections.select_anchor_ranges([cursor..cursor]);
},
);
});
}
_ => {}
@ -920,10 +925,15 @@ impl RulesLibrary {
}
EditorEvent::Blurred => {
body_editor.update(cx, |body_editor, cx| {
body_editor.change_selections(None, window, cx, |selections| {
let cursor = selections.oldest_anchor().head();
selections.select_anchor_ranges([cursor..cursor]);
});
body_editor.change_selections(
SelectionEffects::no_scroll(),
window,
cx,
|selections| {
let cursor = selections.oldest_anchor().head();
selections.select_anchor_ranges([cursor..cursor]);
},
);
});
}
_ => {}