From 93c6a337c4f139ce620257fef79f66cf48516d5c Mon Sep 17 00:00:00 2001 From: Michael Davis Date: Wed, 31 Aug 2022 11:20:55 -0500 Subject: [PATCH] Avoid command execution hooks on closed docs (#3613) Fixes a panic with a config like: [keys.normal.space] x = [":buffer-close"] by bailing out of the command-execution handling if the document doesn't exist after handling a command. --- helix-term/src/ui/editor.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index 2de5fe5c9..f4e2d13e3 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -781,7 +781,10 @@ impl EditorView { let mut execute_command = |command: &commands::MappableCommand| { command.execute(cxt); - let doc = cxt.editor.documents.get_mut(&doc_id).unwrap(); + let doc = match cxt.editor.documents.get(&doc_id) { + Some(doc) => doc, + None => return, + }; let current_mode = doc.mode(); match (last_mode, current_mode) { (Mode::Normal, Mode::Insert) => {