[pve-devel] [RFC common 8/9] cli: allow to pass sub commands to help as array
Dominik Csapak
d.csapak at proxmox.com
Tue Dec 5 11:47:18 CET 2017
without this patch, help always shows the verbose help of all commands,
but this is an issue with a previous patch
Reviewed-by: Dominik Csapak <d.csapak at proxmox.com>
On 11/06/2017 02:54 PM, Thomas Lamprecht wrote:
> Improves usabillity by allowing to pass a sub command unquoted to
> the help command, e.g.:
>
> # pveum help user delete
>
> without this only a quoted version worked, e.g.:
> # pveum help "user delete"
> ---
> src/PVE/CLIHandler.pm | 14 ++++++--------
> 1 file changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/src/PVE/CLIHandler.pm b/src/PVE/CLIHandler.pm
> index 6214d01..5111b7a 100644
> --- a/src/PVE/CLIHandler.pm
> +++ b/src/PVE/CLIHandler.pm
> @@ -155,12 +155,10 @@ __PACKAGE__->register_method ({
> parameters => {
> additionalProperties => 0,
> properties => {
> - cmd => {
> - description => "Command name",
> - type => 'string',
> - optional => 1,
> + 'extra-args' => PVE::JSONSchema::get_standard_option('extra-args', {
> + description => 'Shows help for a specific command',
> completion => $complete_command_names,
> - },
> + }),
> verbose => {
> description => "Verbose output format.",
> type => 'boolean',
> @@ -175,9 +173,9 @@ __PACKAGE__->register_method ({
>
> $assert_initialized->();
>
> - my $cmd = $param->{cmd};
> + my $cmd = $param->{'extra-args'};
>
> - my $verbose = defined($cmd) && $cmd;
> + my $verbose = defined($cmd) && $cmd;
> $verbose = $param->{verbose} if defined($param->{verbose});
>
> if (!$cmd) {
> @@ -435,7 +433,7 @@ sub setup_environment {
> my $handle_cmd = sub {
> my ($args, $pwcallback, $preparefunc, $stringfilemap) = @_;
>
> - $cmddef->{help} = [ __PACKAGE__, 'help', ['cmd'] ];
> + $cmddef->{help} = [ __PACKAGE__, 'help', ['extra-args'] ];
>
> my $cmd_str = join(' ', @$args);
> my ($cmd, $def, $cmd_args) = resolve_cmd($args);
>
More information about the pve-devel
mailing list