summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2013-10-26 14:06:27 +0100
committerMaxime Coste <frrrwww@gmail.com>2013-10-26 14:06:27 +0100
commit0746e7309eb6159ab93e4603ddcd6df36094bd39 (patch)
tree85293b93af59282823b866ff8c2912d6dea442bc /src
parentebd768e03d0f77dec5c05f9968e749a977423ece (diff)
InputMode::Prompt: use an enum for mode rather than bool m_insert_reg
Diffstat (limited to 'src')
-rw-r--r--src/client.cc10
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;