diff options
Diffstat (limited to 'src/input_handler.cc')
| -rw-r--r-- | src/input_handler.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/input_handler.cc b/src/input_handler.cc index ec8ff3b4..9fab9ccd 100644 --- a/src/input_handler.cc +++ b/src/input_handler.cc @@ -826,11 +826,16 @@ public: { on_next_key_with_autoinfo(context(), "register", KeymapMode::None, [this](Key key, Context&) { + const bool joined = (bool)(key.modifiers & Key::Modifiers::Alt); + key.modifiers &= ~Key::Modifiers::Alt; + 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); + + m_line_editor.insert( + joined ? join(RegisterManager::instance()[*cp].get(context()), ' ', false) + : context().main_sel_register_value(String{*cp})); display(); m_line_changed = true; |
