aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src
diff options
context:
space:
mode:
authorAndrey Tkachenko2022-04-20 01:42:33 +0000
committerGitHub2022-04-20 01:42:33 +0000
commit3a7bf1c40cba7f4763df38e347587b5c3003d080 (patch)
tree3f7ab72d0667625aa5c5de4c66da54d5fd8b0b3e /helix-term/src
parentcc68fa857dced7d9433d145ebfa8cd70e5a0394d (diff)
Restore document state on completion cancel (#2096)
Diffstat (limited to 'helix-term/src')
-rw-r--r--helix-term/src/ui/completion.rs1
-rw-r--r--helix-term/src/ui/popup.rs5
2 files changed, 5 insertions, 1 deletions
diff --git a/helix-term/src/ui/completion.rs b/helix-term/src/ui/completion.rs
index 556273bc..38005aad 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 45527482..069a22f4 100644
--- a/helix-term/src/ui/popup.rs
+++ b/helix-term/src/ui/popup.rs
@@ -124,7 +124,10 @@ impl<T: Component> Component for Popup<T> {
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)