summaryrefslogtreecommitdiff
path: root/src/main.cc
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2017-02-14 00:02:01 +0000
committerMaxime Coste <mawww@kakoune.org>2017-02-14 00:02:01 +0000
commitd470bd2cc9d5fb4081f998c752b8207deef857f8 (patch)
tree0af03989ea1fc4d8ab54732fcadae8e5a4de6b19 /src/main.cc
parente3a04dfa651ea4b32af64f207291ca8818adbf32 (diff)
Make numeric registers setable
Fixes #1214
Diffstat (limited to 'src/main.cc')
-rw-r--r--src/main.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main.cc b/src/main.cc
index 7aba8f26..09902b5d 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -186,6 +186,19 @@ void register_registers()
for (auto& sel : context.selections())
result.emplace_back(i < sel.captures().size() ? sel.captures()[i] : "");
return result;
+ },
+ [i](Context& context, ConstArrayView<String> values) {
+ if (values.empty())
+ return;
+
+ auto& sels = context.selections();
+ for (size_t sel_index = 0; sel_index < sels.size(); ++sel_index)
+ {
+ auto& sel = sels[sel_index];
+ if (sel.captures().size() < i+1)
+ sel.captures().resize(i+1);
+ sel.captures()[i] = values[std::min(sel_index, values.size()-1)];
+ }
}));
}