Optional history for rename_symbol (#10932)

Fix #10560 by accepting an optional history register for the
rename_symbol command.
This commit is contained in:
Sebastian Poeplau 2024-06-12 16:44:47 +02:00 committed by GitHub
parent 9123d3fbb8
commit 62655e97f1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1029,11 +1029,12 @@ pub fn rename_symbol(cx: &mut Context) {
fn create_rename_prompt(
editor: &Editor,
prefill: String,
history_register: Option<char>,
language_server_id: Option<LanguageServerId>,
) -> Box<ui::Prompt> {
let prompt = ui::Prompt::new(
"rename-to:".into(),
None,
history_register,
ui::completers::none,
move |cx: &mut compositor::Context, input: &str, event: PromptEvent| {
if event != PromptEvent::Validate {
@ -1070,6 +1071,7 @@ pub fn rename_symbol(cx: &mut Context) {
}
let (view, doc) = current_ref!(cx.editor);
let history_register = cx.register;
if doc
.language_servers_with_feature(LanguageServerFeature::RenameSymbol)
@ -1112,14 +1114,14 @@ pub fn rename_symbol(cx: &mut Context) {
}
};
let prompt = create_rename_prompt(editor, prefill, Some(ls_id));
let prompt = create_rename_prompt(editor, prefill, history_register, Some(ls_id));
compositor.push(prompt);
},
);
} else {
let prefill = get_prefill_from_word_boundary(cx.editor);
let prompt = create_rename_prompt(cx.editor, prefill, None);
let prompt = create_rename_prompt(cx.editor, prefill, history_register, None);
cx.push_layer(prompt);
}
}