parent
1df32c917c
commit
aa00a470f3
2 changed files with 6 additions and 3 deletions
|
@ -715,7 +715,10 @@ fn theme(
|
||||||
cx.editor.unset_theme_preview();
|
cx.editor.unset_theme_preview();
|
||||||
}
|
}
|
||||||
PromptEvent::Update => {
|
PromptEvent::Update => {
|
||||||
if let Some(theme_name) = args.first() {
|
if args.is_empty() {
|
||||||
|
// Ensures that a preview theme gets cleaned up if the user backspaces until the prompt is empty.
|
||||||
|
cx.editor.unset_theme_preview();
|
||||||
|
} else if let Some(theme_name) = args.first() {
|
||||||
if let Ok(theme) = cx.editor.theme_loader.load(theme_name) {
|
if let Ok(theme) = cx.editor.theme_loader.load(theme_name) {
|
||||||
if !(true_color || theme.is_16_color()) {
|
if !(true_color || theme.is_16_color()) {
|
||||||
bail!("Unsupported theme: theme requires true color support");
|
bail!("Unsupported theme: theme requires true color support");
|
||||||
|
|
|
@ -293,6 +293,7 @@ impl Prompt {
|
||||||
register: char,
|
register: char,
|
||||||
direction: CompletionDirection,
|
direction: CompletionDirection,
|
||||||
) {
|
) {
|
||||||
|
(self.callback_fn)(cx, &self.line, PromptEvent::Abort);
|
||||||
let register = cx.editor.registers.get_mut(register).read();
|
let register = cx.editor.registers.get_mut(register).read();
|
||||||
|
|
||||||
if register.is_empty() {
|
if register.is_empty() {
|
||||||
|
@ -314,6 +315,7 @@ impl Prompt {
|
||||||
self.history_pos = Some(index);
|
self.history_pos = Some(index);
|
||||||
|
|
||||||
self.move_end();
|
self.move_end();
|
||||||
|
(self.callback_fn)(cx, &self.line, PromptEvent::Update);
|
||||||
self.recalculate_completion(cx.editor);
|
self.recalculate_completion(cx.editor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -564,13 +566,11 @@ impl Component for Prompt {
|
||||||
ctrl!('p') | key!(Up) => {
|
ctrl!('p') | key!(Up) => {
|
||||||
if let Some(register) = self.history_register {
|
if let Some(register) = self.history_register {
|
||||||
self.change_history(cx, register, CompletionDirection::Backward);
|
self.change_history(cx, register, CompletionDirection::Backward);
|
||||||
(self.callback_fn)(cx, &self.line, PromptEvent::Update);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ctrl!('n') | key!(Down) => {
|
ctrl!('n') | key!(Down) => {
|
||||||
if let Some(register) = self.history_register {
|
if let Some(register) = self.history_register {
|
||||||
self.change_history(cx, register, CompletionDirection::Forward);
|
self.change_history(cx, register, CompletionDirection::Forward);
|
||||||
(self.callback_fn)(cx, &self.line, PromptEvent::Update);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
key!(Tab) => {
|
key!(Tab) => {
|
||||||
|
|
Loading…
Reference in a new issue