From f92998a14b3017371c6a55756c60c03e126ae23f Mon Sep 17 00:00:00 2001 From: Blaž Hrastnik Date: Mon, 14 Dec 2020 15:59:48 +0900 Subject: Prompt needs to close on enter. --- helix-term/src/ui/prompt.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'helix-term/src') diff --git a/helix-term/src/ui/prompt.rs b/helix-term/src/ui/prompt.rs index 3ca1a941..f5ef9477 100644 --- a/helix-term/src/ui/prompt.rs +++ b/helix-term/src/ui/prompt.rs @@ -151,6 +151,11 @@ impl Component for Prompt { _ => return EventResult::Ignored, }; + let close_fn = EventResult::Consumed(Some(Box::new(|compositor: &mut Compositor| { + // remove the layer + compositor.pop(); + }))); + match event { KeyEvent { code: KeyCode::Char(c), @@ -159,10 +164,7 @@ impl Component for Prompt { KeyEvent { code: KeyCode::Esc, .. } => { - return EventResult::Consumed(Some(Box::new(|compositor: &mut Compositor| { - // remove the layer - compositor.pop(); - }))); + return close_fn; } KeyEvent { code: KeyCode::Right, @@ -187,7 +189,10 @@ impl Component for Prompt { KeyEvent { code: KeyCode::Enter, .. - } => (self.callback_fn)(cx.editor, &self.line), + } => { + (self.callback_fn)(cx.editor, &self.line); + return close_fn; + } KeyEvent { code: KeyCode::Tab, .. } => self.change_completion_selection(), -- cgit v1.2.3-70-g09d2