X-Git-Url: https://git.proxmox.com/?p=pve-client.git;a=blobdiff_plain;f=PVE%2FAPIClient%2FHelpers.pm;h=7e4447dd8ab6c9b3a070ec4cedf810dd7bb97e21;hp=106e497790512d65f068f92af1ba53d21b0f2ca9;hb=a00bef992d68c429798d031ecd6dec7935cb381b;hpb=6b66e46c72c54ea7d0dd042c1deede79e3711edc;ds=sidebyside diff --git a/PVE/APIClient/Helpers.pm b/PVE/APIClient/Helpers.pm index 106e497..7e4447d 100644 --- a/PVE/APIClient/Helpers.pm +++ b/PVE/APIClient/Helpers.pm @@ -203,21 +203,20 @@ sub complete_api_path { if (my $children = $info->{children}) { foreach my $c (@$children) { my $ctext = $c->{text}; + push @$res, "${prefix}$ctext" if $ctext =~ m/^\Q$rest/; if ($ctext =~ m/^\{(\S+)\}$/) { - push @$res, "$prefix$ctext"; - push @$res, "$prefix$ctext/"; - if (length($rest)) { + if (length($rest) && $rest ne $ctext) { push @$res, "$prefix$rest"; - push @$res, "$prefix$rest/"; } - } elsif ($ctext =~ m/^\Q$rest/) { - push @$res, "$prefix$ctext"; - push @$res, "$prefix$ctext/" if $c->{children}; } } } } + if (scalar(@$res) == 1) { + $res = [$res->[0], "$res->[0]/"]; + } + return $res; }