From 7260812a720336111dc4643c9852e34820745338 Mon Sep 17 00:00:00 2001 From: JJ Date: Tue, 31 Oct 2023 18:19:02 -0700 Subject: Add unbind-default-keys config option ref: https://github.com/helix-editor/helix/issues/2720 ref: https://github.com/helix-editor/helix/pull/2733 Co-authored-by: Linden Krouse --- helix-term/src/keymap.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'helix-term/src/keymap.rs') diff --git a/helix-term/src/keymap.rs b/helix-term/src/keymap.rs index 598be55b..c5d188d5 100644 --- a/helix-term/src/keymap.rs +++ b/helix-term/src/keymap.rs @@ -309,7 +309,10 @@ impl Keymaps { pub fn get(&mut self, mode: Mode, key: KeyEvent) -> KeymapResult { // TODO: remove the sticky part and look up manually let keymaps = &*self.map(); - let keymap = &keymaps[&mode]; + let keymap = match keymaps.get(&mode) { + Some(keymap) => keymap, + None => return KeymapResult::NotFound, + }; if key!(Esc) == key { if !self.state.is_empty() { @@ -364,7 +367,7 @@ impl Default for Keymaps { } } -/// Merge default config keys with user overwritten keys for custom user config. +/// Merge existing config keys with user overwritten keys. pub fn merge_keys(dst: &mut HashMap, mut delta: HashMap) { for (mode, keys) in dst { keys.merge_nodes( -- cgit v1.2.3-70-g09d2