summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Melton <robert@robertmelton.com>2019-05-21 04:19:13 -0400
committerRobert Melton <robert@robertmelton.com>2019-05-21 04:19:13 -0400
commita5bc91d67ea863ddcbbe148dbd1cf653ca8ef17a (patch)
tree48c39059c4ee5fee128ed8d787985cd068b169de
parentadf281a079d7a3f1dc3cb403268b95a99b6ed792 (diff)
parent3b3a69b2f507822828aa169b530046afc31f97c1 (diff)
Merge remote-tracking branch 'upstream/master' into path-improvements
-rw-r--r--src/commands.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/commands.cc b/src/commands.cc
index ad3ed547..c03358ce 100644
--- a/src/commands.cc
+++ b/src/commands.cc
@@ -103,9 +103,10 @@ make_completer(Completers&&... completers)
}
template<typename Completer>
-auto add_flags(Completer&& completer, Completions::Flags completions_flags)
+auto add_flags(Completer completer, Completions::Flags completions_flags)
{
- return [=](const Context& context, CompletionFlags flags, const String& prefix, ByteCount cursor_pos) {
+ return [completer=std::move(completer), completions_flags]
+ (const Context& context, CompletionFlags flags, const String& prefix, ByteCount cursor_pos) {
Completions res = completer(context, flags, prefix, cursor_pos);
res.flags |= completions_flags;
return res;
@@ -113,9 +114,9 @@ auto add_flags(Completer&& completer, Completions::Flags completions_flags)
}
template<typename Completer>
-auto menu(Completer&& completer)
+auto menu(Completer completer)
{
- return add_flags(std::forward<Completer>(completer), Completions::Flags::Menu);
+ return add_flags(std::move(completer), Completions::Flags::Menu);
}
template<bool menu>
@@ -1128,7 +1129,7 @@ void define_command(const ParametersParser& parser, Context& context, const Shel
CommandParameters params,
size_t token_to_complete, ByteCount pos_in_token)
{
- return add_flags(complete_buffer_name, completions_flags)(
+ return add_flags(complete_buffer_name<false>, completions_flags)(
context, flags, params[token_to_complete], pos_in_token);
};
}