diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2013-10-26 14:06:27 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2013-10-26 14:06:27 +0100 |
| commit | 0746e7309eb6159ab93e4603ddcd6df36094bd39 (patch) | |
| tree | 85293b93af59282823b866ff8c2912d6dea442bc /src | |
| parent | ebd768e03d0f77dec5c05f9968e749a977423ece (diff) | |
InputMode::Prompt: use an enum for mode rather than bool m_insert_reg
Diffstat (limited to 'src')
| -rw-r--r-- | src/client.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/client.cc b/src/client.cc index 08c72081..1bc4a2c1 100644 --- a/src/client.cc +++ b/src/client.cc @@ -331,11 +331,11 @@ public: std::vector<String>& history = ms_history[m_prompt]; const String& line = m_line_editor.line(); - if (m_insert_reg) + if (m_mode == Mode::InsertReg) { String reg = RegisterManager::instance()[key.key].values(context())[0]; m_line_editor.insert(reg); - m_insert_reg = false; + m_mode = Mode::Default; } else if (key == Key{Key::Modifiers::Control, 'm'}) // enter { @@ -364,7 +364,7 @@ public: } else if (key == Key{Key::Modifiers::Control, 'r'}) { - m_insert_reg = true; + m_mode = Mode::InsertReg; } else if (key == Key::Up or key == Key{Key::Modifiers::Control, 'p'}) @@ -487,6 +487,8 @@ private: context().print_status(display_line); } + enum class Mode { Default, InsertReg }; + PromptCallback m_callback; Completer m_completer; const String m_prompt; @@ -495,7 +497,7 @@ private: int m_current_completion = -1; String m_prefix; LineEditor m_line_editor; - bool m_insert_reg = false; + Mode m_mode = Mode::Default; static std::unordered_map<String, std::vector<String>> ms_history; std::vector<String>::iterator m_history_it; |
