extract exec_keys function from exec_string
This commit is contained in:
parent
0483e951ad
commit
1e5d930f35
22
src/main.cc
22
src/main.cc
|
@ -1019,16 +1019,9 @@ std::unordered_map<Key, std::function<void (Editor& editor, int count)>> keymap
|
||||||
{ { Key::Modifiers::Alt, 'x' }, [](Editor& editor, int count) { editor.multi_select(select_whole_lines); } },
|
{ { Key::Modifiers::Alt, 'x' }, [](Editor& editor, int count) { editor.multi_select(select_whole_lines); } },
|
||||||
};
|
};
|
||||||
|
|
||||||
void exec_string(const CommandParameters& params,
|
void exec_keys(const KeyList& keys,
|
||||||
const Context& context)
|
const Context& context)
|
||||||
{
|
{
|
||||||
if (params.size() != 1)
|
|
||||||
throw wrong_argument_count();
|
|
||||||
|
|
||||||
size_t pos = 0;
|
|
||||||
|
|
||||||
KeyList keys = parse_keys(params[0]);
|
|
||||||
|
|
||||||
auto prompt_save = prompt_func;
|
auto prompt_save = prompt_func;
|
||||||
auto get_key_save = get_key_func;
|
auto get_key_save = get_key_func;
|
||||||
|
|
||||||
|
@ -1037,6 +1030,8 @@ void exec_string(const CommandParameters& params,
|
||||||
get_key_func = get_key_save;
|
get_key_func = get_key_save;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
size_t pos = 0;
|
||||||
|
|
||||||
prompt_func = [&](const std::string&, Completer) {
|
prompt_func = [&](const std::string&, Completer) {
|
||||||
size_t begin = pos;
|
size_t begin = pos;
|
||||||
while (pos < keys.size() and keys[pos].key != '\n')
|
while (pos < keys.size() and keys[pos].key != '\n')
|
||||||
|
@ -1080,6 +1075,17 @@ void exec_string(const CommandParameters& params,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void exec_string(const CommandParameters& params,
|
||||||
|
const Context& context)
|
||||||
|
{
|
||||||
|
if (params.size() != 1)
|
||||||
|
throw wrong_argument_count();
|
||||||
|
|
||||||
|
KeyList keys = parse_keys(params[0]);
|
||||||
|
|
||||||
|
exec_keys(keys, context);
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
init_ncurses();
|
init_ncurses();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user