summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2018-06-03 14:16:19 +1000
committerMaxime Coste <mawww@kakoune.org>2018-07-05 07:54:28 +1000
commit8aba0b3cb4e5fe758328eba9eeba0401b4e77e52 (patch)
tree78a3b1c8371782821d3d557e40992966e589a86b
parent183f32803b6495a716e85d643f19dbacde4ed053 (diff)
Change set-register command to take a list of values
Registers are lists of strings, so this make it possible to set the whole list instead of forcing registers to a single element when going through the set-register command.
-rw-r--r--doc/pages/commands.asciidoc5
-rw-r--r--src/commands.cc6
2 files changed, 6 insertions, 5 deletions
diff --git a/doc/pages/commands.asciidoc b/doc/pages/commands.asciidoc
index 6a8b241b..3e8ad480 100644
--- a/doc/pages/commands.asciidoc
+++ b/doc/pages/commands.asciidoc
@@ -239,9 +239,10 @@ but not really useful in that context.
*fail* <text>::
raise an error, uses <text> as its description
-*set-register* <name> <content>::
+*set-register* <name> <contents>...::
*alias* reg +
- set register *name* to *content* (See <<registers#,`:doc registers`>>)
+ set register *name* to *content*, each content parameter is assigned to
+ a different string in the register. (See <<registers#,`:doc registers`>>)
*select* <anchor_line>.<anchor_column>,<cursor_line>.<cursor_column>...::
replace the current selections with the ones described in the arguments
diff --git a/src/commands.cc b/src/commands.cc
index 233c8f89..d06c050a 100644
--- a/src/commands.cc
+++ b/src/commands.cc
@@ -2099,14 +2099,14 @@ const CommandDesc rename_client_cmd = {
const CommandDesc set_register_cmd = {
"set-register",
"reg",
- "set-register <name> <value>: set register <name> to <value>",
- ParameterDesc{{}, ParameterDesc::Flags::SwitchesAsPositional, 2, 2},
+ "set-register <name> <values>...: set register <name> to <values>",
+ ParameterDesc{{}, ParameterDesc::Flags::SwitchesAsPositional, 2},
CommandFlags::None,
CommandHelper{},
CommandCompleter{},
[](const ParametersParser& parser, Context& context, const ShellContext&)
{
- RegisterManager::instance()[parser[0]].set(context, {parser[1]});
+ RegisterManager::instance()[parser[0]].set(context, parser.positionals_from(1));
}
};