diff --git a/helix-term/src/ui/prompt.rs b/helix-term/src/ui/prompt.rs index 071cac907..ce00a1299 100644 --- a/helix-term/src/ui/prompt.rs +++ b/helix-term/src/ui/prompt.rs @@ -1,4 +1,4 @@ -use crate::compositor::{Component, Context, EventResult}; +use crate::compositor::{Component, Compositor, Context, EventResult}; use crossterm::event::{Event, KeyCode, KeyEvent, KeyModifiers}; use helix_core::Position; use helix_view::Editor; @@ -161,7 +161,12 @@ fn handle_event(&mut self, event: Event, cx: &mut Context) -> EventResult { } => self.insert_char(c), KeyEvent { code: KeyCode::Esc, .. - } => self.should_close = true, + } => { + return EventResult::Consumed(Some(Box::new(|compositor: &mut Compositor| { + // remove the layer + compositor.pop(); + }))); + } KeyEvent { code: KeyCode::Right, ..