diff options
| author | Maxime Coste <mawww@kakoune.org> | 2018-02-20 22:09:03 +1100 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2018-02-20 23:32:31 +1100 |
| commit | 6d111d4bd78f340b397a5f45dc8c22a245f676e0 (patch) | |
| tree | 40405243945b743f43bbd838daa0c7233384bb78 /src/command_manager.cc | |
| parent | 6239357e99af08ded2c532405ee2f6eba6ef8ad9 (diff) | |
Re-introduce aliases in command name completion
Aliases are considered again in command name completion, but only
if they are more than 3 charactes long. This should prevent cluttering
with aliases while still letting long ones being completed.
Diffstat (limited to 'src/command_manager.cc')
| -rw-r--r-- | src/command_manager.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/command_manager.cc b/src/command_manager.cc index ed489183..45200e11 100644 --- a/src/command_manager.cc +++ b/src/command_manager.cc @@ -540,7 +540,11 @@ Completions CommandManager::complete_command_name(const Context& context, String | filter([](const CommandMap::Item& cmd) { return not (cmd.value.flags & CommandFlags::Hidden); }) | transform(std::mem_fn(&CommandMap::Item::key)); - return {0, query.length(), Kakoune::complete(query, query.length(), commands)}; + auto aliases = context.aliases().flatten_aliases() + | transform(std::mem_fn(&HashItem<String, String>::key)) + | filter([](auto& alias) { return alias.length() > 3; }); + + return {0, query.length(), Kakoune::complete(query, query.length(), concatenated(commands, aliases))}; } Completions CommandManager::complete(const Context& context, |
