diff options
| author | Olivier Perret <Olivier.Perret@mailbox.org> | 2017-09-21 11:53:10 +0200 |
|---|---|---|
| committer | Olivier Perret <Olivier.Perret@mailbox.org> | 2017-09-21 11:53:10 +0200 |
| commit | a20ecf6b005350b42be60ce74d1c3d0354ee74ee (patch) | |
| tree | 20c720ac1cb650ac41164423bb5499b3141113d7 /src/input_handler.cc | |
| parent | 42196b83cfecae7e68aa369f28e668df5dc8ad64 (diff) | |
Use <esc> to exit on-key modes
Diffstat (limited to 'src/input_handler.cc')
| -rw-r--r-- | src/input_handler.cc | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/src/input_handler.cc b/src/input_handler.cc index eae424da..65330487 100644 --- a/src/input_handler.cc +++ b/src/input_handler.cc @@ -260,15 +260,15 @@ public: { on_next_key_with_autoinfo(context(), KeymapMode::None, [this](Key key, Context& context) { - if (auto cp = key.codepoint()) - { - if (*cp <= 127) - m_params.reg = *cp; - else - context.print_status( - { format("invalid register '{}'", *cp), - get_face("Error") }); - } + auto cp = key.codepoint(); + if (not cp or key == Key::Escape) + return; + if (*cp <= 127) + m_params.reg = *cp; + else + context.print_status( + { format("invalid register '{}'", *cp), + get_face("Error") }); }, "enter target register", register_doc); } else @@ -755,14 +755,14 @@ public: { on_next_key_with_autoinfo(context(), KeymapMode::None, [this](Key key, Context&) { - if (auto cp = key.codepoint()) - { - StringView reg = context().main_sel_register_value(String{*cp}); - m_line_editor.insert(reg); - - display(); - m_line_changed = true; - } + auto cp = key.codepoint(); + if (not cp or key == Key::Escape) + return; + StringView reg = context().main_sel_register_value(String{*cp}); + m_line_editor.insert(reg); + + display(); + m_line_changed = true; }, "enter register name", register_doc); display(); return; @@ -1183,8 +1183,10 @@ public: { on_next_key_with_autoinfo(context(), KeymapMode::None, [this](Key key, Context&) { - if (auto cp = key.codepoint()) - insert(RegisterManager::instance()[*cp].get(context())); + auto cp = key.codepoint(); + if (not cp or key == Key::Escape) + return; + insert(RegisterManager::instance()[*cp].get(context())); }, "enter register name", register_doc); update_completions = false; } |
