Insert all register values in prompt after <c-r> when Alt-modified
`<c-r><a-.>` will insert all selections joined by space instead of only the main one as `<c-r>.` would.
This commit is contained in:
parent
6565f6edd7
commit
d87ee212ba
|
@ -798,7 +798,9 @@ The following keys are recognized by this mode to help with editing
|
|||
select previous completion candidate
|
||||
|
||||
*<c-r>*::
|
||||
insert then content of the register given by next key
|
||||
insert then content of the register given by next key, if next key
|
||||
has the Alt modifier, it will insert all values in the register
|
||||
joined with spaces, else it will insert the main one
|
||||
|
||||
*<c-v>*::
|
||||
insert next keystroke without interpreting it
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue
Block a user