Add an insert-mode default command map

This commit is contained in:
josh committed 2018-01-04 15:33:58 -05:00
1 parent 0d9d160464
commit 7aa3c3b17f
4 files changed
+50 -32

No files matched your search

+26 -1
View File
@@ -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();
}
+6
View File
@@ -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