From e938d724f16ef06cbc97a4fedc20d56edf34e7f2 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Mon, 22 Jul 2024 17:43:37 +1000 Subject: Handle word completion when recording macros Make last insert and macro recording closer together, paving the way towards moving last insert to a register. Use a FunctionRef for insert completer key insertion support. --- src/input_handler.hh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/input_handler.hh') diff --git a/src/input_handler.hh b/src/input_handler.hh index ba73d2b1..dd475c92 100644 --- a/src/input_handler.hh +++ b/src/input_handler.hh @@ -91,7 +91,7 @@ public: Timer::Callback idle_callback = Timer::Callback{}); // process the given key - void handle_key(Key key); + void handle_key(Key key, bool synthesized); void refresh_ifn(); @@ -131,6 +131,9 @@ private: void push_mode(InputMode* new_mode); void pop_mode(InputMode* current_mode); + void record_key(Key key); + void drop_last_recorded_key(); + struct Insertion{ NestedBool recording; InsertMode mode; @@ -139,11 +142,11 @@ private: int count; } m_last_insert = { {}, InsertMode::Insert, {}, false, 1 }; - char m_recording_reg = 0; - String m_recorded_keys; - int m_recording_level = -1; + int m_handle_key_level = 0; - int m_handle_key_level = 0; + char m_recording_reg = 0; + Vector m_recorded_keys; + int m_recording_level = -1; }; enum class AutoInfo -- cgit v1.2.3