parent
718adc9c88
commit
8a2ece78b7
|
@ -1057,6 +1057,7 @@ public:
|
||||||
last_insert().mode = mode;
|
last_insert().mode = mode;
|
||||||
last_insert().keys.clear();
|
last_insert().keys.clear();
|
||||||
last_insert().disable_hooks = context().hooks_disabled();
|
last_insert().disable_hooks = context().hooks_disabled();
|
||||||
|
last_insert().count = count;
|
||||||
context().hooks().run_hook("InsertBegin", "", context());
|
context().hooks().run_hook("InsertBegin", "", context());
|
||||||
prepare(mode, count);
|
prepare(mode, count);
|
||||||
|
|
||||||
|
@ -1435,7 +1436,7 @@ void InputHandler::repeat_last_insert()
|
||||||
m_last_insert.disable_hooks);
|
m_last_insert.disable_hooks);
|
||||||
// context.last_insert will be refilled by the new Insert
|
// context.last_insert will be refilled by the new Insert
|
||||||
// this is very inefficient.
|
// this is very inefficient.
|
||||||
push_mode(new InputModes::Insert(*this, m_last_insert.mode, 1));
|
push_mode(new InputModes::Insert(*this, m_last_insert.mode, m_last_insert.count));
|
||||||
for (auto& key : keys)
|
for (auto& key : keys)
|
||||||
current_mode().handle_key(key);
|
current_mode().handle_key(key);
|
||||||
kak_assert(dynamic_cast<InputModes::Normal*>(¤t_mode()) != nullptr);
|
kak_assert(dynamic_cast<InputModes::Normal*>(¤t_mode()) != nullptr);
|
||||||
|
|
|
@ -116,8 +116,8 @@ private:
|
||||||
void push_mode(InputMode* new_mode);
|
void push_mode(InputMode* new_mode);
|
||||||
void pop_mode(InputMode* current_mode);
|
void pop_mode(InputMode* current_mode);
|
||||||
|
|
||||||
struct Insertion{ InsertMode mode; Vector<Key> keys; bool disable_hooks; };
|
struct Insertion{ InsertMode mode; Vector<Key> keys; bool disable_hooks; int count; };
|
||||||
Insertion m_last_insert = { InsertMode::Insert, {}, false };
|
Insertion m_last_insert = { InsertMode::Insert, {}, false, 1 };
|
||||||
|
|
||||||
char m_recording_reg = 0;
|
char m_recording_reg = 0;
|
||||||
String m_recorded_keys;
|
String m_recorded_keys;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user