From: Thomas Lamprecht Date: Tue, 9 Jan 2018 12:25:32 +0000 (+0100) Subject: cli: allow to pass sub commands to help as array X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=commitdiff_plain;h=6627ae09a03b4898c519de50ea5d26effad7cd15 cli: allow to pass sub commands to help as array Improves usabillity by allowing to pass a sub copmmand unquoted to the help command, e.g.: # pveum help user delete without this only a quoted version worked, e.g.: # pveum help "user delete" Signed-off-by: Thomas Lamprecht Acked-by: Wolfgang Bumiller --- diff --git a/src/PVE/CLIHandler.pm b/src/PVE/CLIHandler.pm index 9609181..1af9987 100644 --- a/src/PVE/CLIHandler.pm +++ b/src/PVE/CLIHandler.pm @@ -158,12 +158,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', @@ -178,9 +176,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) { @@ -438,7 +436,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);