Deduplicate functions for completing alias names
"complete_alias_name" is a better name then "complete_alias" because it's consistent with more similar names, which are: complete_client_name complete_command_name complete_module_name complete_option_name complete_register_name complete_scope complete_face
This commit is contained in:
parent
57a98880ab
commit
1358fc3cef
|
@ -205,14 +205,6 @@ static Completions complete_command_name(const Context& context, CompletionFlags
|
||||||
context, prefix.substr(0, cursor_pos));
|
context, prefix.substr(0, cursor_pos));
|
||||||
}
|
}
|
||||||
|
|
||||||
static Completions complete_alias_name(const Context& context, CompletionFlags,
|
|
||||||
StringView prefix, ByteCount cursor_pos)
|
|
||||||
{
|
|
||||||
return { 0_byte, cursor_pos, complete(prefix, cursor_pos,
|
|
||||||
context.aliases().flatten_aliases()
|
|
||||||
| transform(&HashItem<String, String>::key)) };
|
|
||||||
}
|
|
||||||
|
|
||||||
struct ShellScriptCompleter
|
struct ShellScriptCompleter
|
||||||
{
|
{
|
||||||
ShellScriptCompleter(String shell_script,
|
ShellScriptCompleter(String shell_script,
|
||||||
|
@ -1332,6 +1324,14 @@ const CommandDesc define_command_cmd = {
|
||||||
define_command
|
define_command
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static Completions complete_alias_name(const Context& context, CompletionFlags,
|
||||||
|
StringView prefix, ByteCount cursor_pos)
|
||||||
|
{
|
||||||
|
return { 0_byte, cursor_pos, complete(prefix, cursor_pos,
|
||||||
|
context.aliases().flatten_aliases()
|
||||||
|
| transform(&HashItem<String, String>::key))};
|
||||||
|
}
|
||||||
|
|
||||||
const CommandDesc alias_cmd = {
|
const CommandDesc alias_cmd = {
|
||||||
"alias",
|
"alias",
|
||||||
nullptr,
|
nullptr,
|
||||||
|
@ -1350,14 +1350,6 @@ const CommandDesc alias_cmd = {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static Completions complete_alias(const Context& context, CompletionFlags flags,
|
|
||||||
StringView 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 = {
|
const CommandDesc unalias_cmd = {
|
||||||
"unalias",
|
"unalias",
|
||||||
nullptr,
|
nullptr,
|
||||||
|
@ -1366,7 +1358,7 @@ const CommandDesc unalias_cmd = {
|
||||||
ParameterDesc{{}, ParameterDesc::Flags::None, 2, 3},
|
ParameterDesc{{}, ParameterDesc::Flags::None, 2, 3},
|
||||||
CommandFlags::None,
|
CommandFlags::None,
|
||||||
CommandHelper{},
|
CommandHelper{},
|
||||||
make_completer(complete_scope, complete_alias, complete_command_name),
|
make_completer(complete_scope, complete_alias_name, complete_command_name),
|
||||||
[](const ParametersParser& parser, Context& context, const ShellContext&)
|
[](const ParametersParser& parser, Context& context, const ShellContext&)
|
||||||
{
|
{
|
||||||
AliasRegistry& aliases = get_scope(parser[0], context).aliases();
|
AliasRegistry& aliases = get_scope(parser[0], context).aliases();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user