summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDelapouite <delapouite@gmail.com>2018-10-08 22:07:13 +0200
committerDelapouite <delapouite@gmail.com>2018-10-08 22:07:13 +0200
commit3a36490ef152171631dd5a307f00adffde4e18e9 (patch)
treef366cebb789225210ee6c5c7c22986b3e1576668 /src
parent9024d41d64627fd6a59b5ad66987e11e2d228f16 (diff)
Add alias completer to unalias command
Diffstat (limited to 'src')
-rw-r--r--src/commands.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/commands.cc b/src/commands.cc
index 0e7ccf97..15658ede 100644
--- a/src/commands.cc
+++ b/src/commands.cc
@@ -1141,6 +1141,14 @@ const CommandDesc alias_cmd = {
}
};
+static Completions complete_alias(const Context& context, CompletionFlags flags,
+ const String& prefix, ByteCount cursor_pos)
+{
+ return {0_byte, cursor_pos,
+ complete(prefix, cursor_pos, context.aliases().flatten_aliases() |
+ transform([](auto& entry) -> const String& { return entry.key; }))};
+}
+
const CommandDesc unalias_cmd = {
"unalias",
nullptr,
@@ -1149,7 +1157,7 @@ const CommandDesc unalias_cmd = {
ParameterDesc{{}, ParameterDesc::Flags::None, 2, 3},
CommandFlags::None,
CommandHelper{},
- make_completer(complete_scope, complete_nothing, complete_command_name),
+ make_completer(complete_scope, complete_alias, complete_command_name),
[](const ParametersParser& parser, Context& context, const ShellContext&)
{
AliasRegistry& aliases = get_scope(parser[0], context).aliases();