summaryrefslogtreecommitdiff
path: root/src/keymap_manager.hh
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2018-02-18 20:20:35 +1100
committerMaxime Coste <mawww@kakoune.org>2018-02-18 20:20:35 +1100
commitf88195d2d91c19a32d54588476950c263ab415dc (patch)
treef28c87fc4c674608cc316ce1219c07470df2d1f8 /src/keymap_manager.hh
parent4f75358ce315ba9658f29bce581b8dc7dbdc4a06 (diff)
parent6b447a0ecb018256c574fc2a36be99698f603cc3 (diff)
Merge remote-tracking branch 'Delapouite/user-mode'
Diffstat (limited to 'src/keymap_manager.hh')
-rw-r--r--src/keymap_manager.hh7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/keymap_manager.hh b/src/keymap_manager.hh
index 746c02c5..3c8d52ee 100644
--- a/src/keymap_manager.hh
+++ b/src/keymap_manager.hh
@@ -22,6 +22,7 @@ enum class KeymapMode : char
View,
User,
Object,
+ FirstUserMode,
};
class KeymapManager
@@ -43,6 +44,10 @@ public:
};
const KeymapInfo& get_mapping(Key key, KeymapMode mode) const;
+ using UserModeList = Vector<String>;
+ const UserModeList& user_modes() const { return m_user_modes; }
+ void add_user_mode(const String user_mode_name);
+
private:
KeymapManager()
: m_parent(nullptr) {}
@@ -52,6 +57,8 @@ private:
KeymapManager* m_parent;
using KeyAndMode = std::pair<Key, KeymapMode>;
HashMap<KeyAndMode, KeymapInfo, MemoryDomain::Mapping> m_mapping;
+
+ UserModeList m_user_modes;
};
}