mirror of https://github.com/helix-editor/helix
Optional history for rename_symbol (#10932)
Fix #10560 by accepting an optional history register for the rename_symbol command.pull/10946/head
parent
9123d3fbb8
commit
62655e97f1
|
@ -1029,11 +1029,12 @@ pub fn rename_symbol(cx: &mut Context) {
|
||||||
fn create_rename_prompt(
|
fn create_rename_prompt(
|
||||||
editor: &Editor,
|
editor: &Editor,
|
||||||
prefill: String,
|
prefill: String,
|
||||||
|
history_register: Option<char>,
|
||||||
language_server_id: Option<LanguageServerId>,
|
language_server_id: Option<LanguageServerId>,
|
||||||
) -> Box<ui::Prompt> {
|
) -> Box<ui::Prompt> {
|
||||||
let prompt = ui::Prompt::new(
|
let prompt = ui::Prompt::new(
|
||||||
"rename-to:".into(),
|
"rename-to:".into(),
|
||||||
None,
|
history_register,
|
||||||
ui::completers::none,
|
ui::completers::none,
|
||||||
move |cx: &mut compositor::Context, input: &str, event: PromptEvent| {
|
move |cx: &mut compositor::Context, input: &str, event: PromptEvent| {
|
||||||
if event != PromptEvent::Validate {
|
if event != PromptEvent::Validate {
|
||||||
|
@ -1070,6 +1071,7 @@ pub fn rename_symbol(cx: &mut Context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
let (view, doc) = current_ref!(cx.editor);
|
let (view, doc) = current_ref!(cx.editor);
|
||||||
|
let history_register = cx.register;
|
||||||
|
|
||||||
if doc
|
if doc
|
||||||
.language_servers_with_feature(LanguageServerFeature::RenameSymbol)
|
.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);
|
compositor.push(prompt);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
let prefill = get_prefill_from_word_boundary(cx.editor);
|
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);
|
cx.push_layer(prompt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue