From 469fa3b3d3e36626c6ba2a43c6e06a4bc02ca9d4 Mon Sep 17 00:00:00 2001 From: Andrey Tkachenko Date: Tue, 19 Apr 2022 15:57:56 +0400 Subject: [PATCH] Restore document state on completion cancel --- helix-term/src/ui/completion.rs | 1 + helix-term/src/ui/popup.rs | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/helix-term/src/ui/completion.rs b/helix-term/src/ui/completion.rs index 1ee4a01a9b47..eefbd84b2458 100644 --- a/helix-term/src/ui/completion.rs +++ b/helix-term/src/ui/completion.rs @@ -135,6 +135,7 @@ impl Completion { match event { PromptEvent::Abort => { + doc.restore(view.id); editor.last_completion = None; } PromptEvent::Update => { diff --git a/helix-term/src/ui/popup.rs b/helix-term/src/ui/popup.rs index 455274822442..069a22f45b9b 100644 --- a/helix-term/src/ui/popup.rs +++ b/helix-term/src/ui/popup.rs @@ -124,7 +124,10 @@ impl Component for Popup { match key.into() { // esc or ctrl-c aborts the completion and closes the menu - key!(Esc) | ctrl!('c') => EventResult::Consumed(Some(close_fn)), + key!(Esc) | ctrl!('c') => { + let _ = self.contents.handle_event(event, cx); + EventResult::Consumed(Some(close_fn)) + } ctrl!('d') => { self.scroll(self.size.1 as usize / 2, true); EventResult::Consumed(None)