summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrank LENORMAND <lenormf@gmail.com>2020-02-09 15:31:08 +0100
committerFrank LENORMAND <lenormf@gmail.com>2020-02-09 15:31:08 +0100
commitc0cb5db6a4171547d381e8b2a5600bcd6eec86aa (patch)
tree2503ef1be1551c51e68b8128b9f7f689c94a0cc7 /src
parente9cf0f23f23d5d683af7dab8843353be6c0ccda3 (diff)
src: Let `:set-register` complete register names
This commit allows the `set-register` command to suggest candidates named after punctuated registers, similarly to %reg{…} expansions.
Diffstat (limited to 'src')
-rw-r--r--src/commands.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/commands.cc b/src/commands.cc
index 21ee4d0b..03f8f1f2 100644
--- a/src/commands.cc
+++ b/src/commands.cc
@@ -2365,7 +2365,12 @@ const CommandDesc set_register_cmd = {
ParameterDesc{{}, ParameterDesc::Flags::SwitchesAsPositional, 1},
CommandFlags::None,
CommandHelper{},
- CommandCompleter{},
+ make_completer(
+ [](const Context& context, CompletionFlags flags,
+ const String& prefix, ByteCount cursor_pos) -> Completions {
+ return { 0_byte, cursor_pos,
+ RegisterManager::instance().complete_register_name(prefix, cursor_pos) };
+ }),
[](const ParametersParser& parser, Context& context, const ShellContext&)
{
RegisterManager::instance()[parser[0]].set(context, parser.positionals_from(1));