on master help sign in
Prompt needs to close on enter.
commitf92998a14b3017371c6a55756c60c03e126ae23f authorBlaž Hrastnik <blaz@mxxn.io> dateMon 14 Dec 2020, 15:59 (6 years ago) parentca80961
1 file changed+10−5
helix-term/src/ui/prompt.rs+10−5
helix-term/src/ui/prompt.rs+10−5
@@ -151,6 +151,11 @@ impl Component for Prompt {
151151 _ => return EventResult::Ignored,
152152 };
153153
154+ let close_fn = EventResult::Consumed(Some(Box::new(|compositor: &mut Compositor| {
155+ // remove the layer
156+ compositor.pop();
157+ })));
158+
154159 match event {
155160 KeyEvent {
156161 code: KeyCode::Char(c),
@@ -159,10 +164,7 @@ impl Component for Prompt {
159164 KeyEvent {
160165 code: KeyCode::Esc, ..
161166 } => {
162− return EventResult::Consumed(Some(Box::new(|compositor: &mut Compositor| {
163− // remove the layer
164− compositor.pop();
165− })));
167+ return close_fn;
166168 }
167169 KeyEvent {
168170 code: KeyCode::Right,
@@ -187,7 +189,10 @@ impl Component for Prompt {
187189 KeyEvent {
188190 code: KeyCode::Enter,
189191 ..
190− } => (self.callback_fn)(cx.editor, &self.line),
192+ } => {
193+ (self.callback_fn)(cx.editor, &self.line);
194+ return close_fn;
195+ }
191196 KeyEvent {
192197 code: KeyCode::Tab, ..
193198 } => self.change_completion_selection(),