diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2016-03-08 21:35:56 +0000 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2016-03-08 21:35:56 +0000 |
| commit | 9e15181dc9b56435c5e1d3ab87dd03404d6c31c9 (patch) | |
| tree | 2fcf0f09cea4755e36c7295b517676a234c10c51 /src/command_manager.cc | |
| parent | 21ae66215163976ea4c826dcdf55e04ddce54748 (diff) | |
Rework container helpers, use pipe syntax and cleanup implementation
use 'container | filter(func) | reverse() | transform(func)' instead
of 'transform(reverse(filter(container), func), func)' to express
container transformations.
Diffstat (limited to 'src/command_manager.cc')
| -rw-r--r-- | src/command_manager.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/command_manager.cc b/src/command_manager.cc index 65de501c..4902f068 100644 --- a/src/command_manager.cc +++ b/src/command_manager.cc @@ -515,12 +515,15 @@ CommandInfo CommandManager::command_info(const Context& context, StringView comm Completions CommandManager::complete_command_name(const Context& context, StringView query) const { - return{0, query.length(), Kakoune::complete(query, query.length(), concatenated( - transformed(filtered(m_commands, [](const CommandMap::value_type& cmd) - { return not (cmd.second.flags & CommandFlags::Hidden); }), - [](const CommandMap::value_type& cmd) { return StringView{cmd.first}; }), - transformed(context.aliases().flatten_aliases(), - [](AliasRegistry::AliasDesc alias) { return alias.first; })))}; + auto candidates = Kakoune::complete( + query, query.length(), concatenated( + m_commands + | filter([](const CommandMap::value_type& cmd) { return not (cmd.second.flags & CommandFlags::Hidden); }) + | transform([](const CommandMap::value_type& cmd) { return StringView{cmd.first}; }), + context.aliases().flatten_aliases() + | transform([](AliasRegistry::AliasDesc alias) { return alias.first; }))); + + return {0, query.length(), std::move(candidates)}; } Completions CommandManager::complete(const Context& context, |
