summaryrefslogtreecommitdiff
path: root/src/keymap_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/keymap_manager.cc')
-rw-r--r--src/keymap_manager.cc14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/keymap_manager.cc b/src/keymap_manager.cc
index 26579bf7..582a271d 100644
--- a/src/keymap_manager.cc
+++ b/src/keymap_manager.cc
@@ -13,20 +13,12 @@ namespace Kakoune
void KeymapManager::map_key(Key key, KeymapMode mode,
KeyList mapping, String docstring)
{
- if (auto it = m_mapping.find(KeyAndMode{key, mode}); it != m_mapping.end())
- if (it->value.is_executing)
- throw runtime_error("cannot map key that is currently executing");
m_mapping[KeyAndMode{key, mode}] = {std::move(mapping), std::move(docstring)};
}
void KeymapManager::unmap_key(Key key, KeymapMode mode)
{
- auto it = m_mapping.find(KeyAndMode{key, mode});
- if (it == m_mapping.end())
- return;
- if (it->value.is_executing)
- throw runtime_error("cannot unmap key that is currently executing");
- m_mapping.remove(it);
+ m_mapping.remove(KeyAndMode{key, mode});
}
void KeymapManager::unmap_keys(KeymapMode mode)
@@ -48,8 +40,8 @@ bool KeymapManager::is_mapped(Key key, KeymapMode mode) const
(m_parent and m_parent->is_mapped(key, mode));
}
-KeymapManager::KeymapInfo&
-KeymapManager::get_mapping(Key key, KeymapMode mode)
+const KeymapManager::KeymapInfo&
+KeymapManager::get_mapping(Key key, KeymapMode mode) const
{
auto it = m_mapping.find(KeyAndMode{key, mode});
if (it != m_mapping.end())