Add an insert-mode default command map
This commit is contained in:
1 parent
0d9d160464
commit
7aa3c3b17f
4 files changed
+50
-32
No files matched your search
@@ -2,8 +2,9 @@
|
||||
#include "keys.h"
|
||||
|
||||
std::shared_ptr<CommandMap> g_DefaultCommandMap;
|
||||
std::shared_ptr<CommandMap> g_DefaultInsertModeCommandMap;
|
||||
|
||||
void DefaultCommandMap::build()
|
||||
static void build_command_mode()
|
||||
{
|
||||
g_DefaultCommandMap = std::make_shared<CommandMap>();
|
||||
CommandMap * dcm = &*g_DefaultCommandMap;
|
||||
@@ -71,3 +72,27 @@ void DefaultCommandMap::build()
|
||||
dcm->add({JES_KEY_DOWN}, Command::GO_DOWN, nullptr, false);
|
||||
dcm->add({JES_KEY_RIGHT}, Command::GO_RIGHT, nullptr, false);
|
||||
}
|
||||
|
||||
static void build_insert_mode()
|
||||
{
|
||||
g_DefaultInsertModeCommandMap = std::make_shared<CommandMap>();
|
||||
CommandMap * dcm = &*g_DefaultInsertModeCommandMap;
|
||||
|
||||
dcm->add({JES_KEY_HOME}, Command::GO_START_OF_LINE, nullptr, false);
|
||||
dcm->add({JES_KEY_MODS_CTRL + JES_KEY_HOME}, Command::GO_START_OF_FILE, nullptr, false);
|
||||
dcm->add({JES_KEY_END}, Command::GO_END_OF_LINE, nullptr, false);
|
||||
dcm->add({JES_KEY_MODS_CTRL + JES_KEY_END}, Command::GO_END_OF_FILE, nullptr, false);
|
||||
dcm->add({JES_KEY_PAGE_UP}, Command::SCROLL_WINDOW_UP_WHOLE_SCREEN, nullptr, false);
|
||||
dcm->add({JES_KEY_PAGE_DOWN}, Command::SCROLL_WINDOW_DOWN_WHOLE_SCREEN, nullptr, false);
|
||||
|
||||
dcm->add({JES_KEY_UP}, Command::GO_UP, nullptr, false);
|
||||
dcm->add({JES_KEY_LEFT}, Command::GO_LEFT, nullptr, false);
|
||||
dcm->add({JES_KEY_DOWN}, Command::GO_DOWN, nullptr, false);
|
||||
dcm->add({JES_KEY_RIGHT}, Command::GO_RIGHT, nullptr, false);
|
||||
}
|
||||
|
||||
void DefaultCommandMap::build()
|
||||
{
|
||||
build_command_mode();
|
||||
build_insert_mode();
|
||||
}
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "CommandMap.h"
|
||||
|
||||
extern std::shared_ptr<CommandMap> g_DefaultCommandMap;
|
||||
extern std::shared_ptr<CommandMap> g_DefaultInsertModeCommandMap;
|
||||
|
||||
class DefaultCommandMap
|
||||
{
|
||||
@@ -14,6 +15,11 @@ public:
|
||||
{
|
||||
return g_DefaultCommandMap;
|
||||
}
|
||||
|
||||
static std::shared_ptr<CommandMap> get_insert_mode()
|
||||
{
|
||||
return g_DefaultInsertModeCommandMap;
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in new issue
Block a user