diff --git a/bin/plugin/admin/adminSudo.json b/bin/plugin/admin/adminSudo.json index 3b0dda3..5499caa 100644 --- a/bin/plugin/admin/adminSudo.json +++ b/bin/plugin/admin/adminSudo.json @@ -3,6 +3,8 @@ "adminSudo" , { "ac" : ["-- --sudo-as"]}, "adminSudo -- --sudo-as" , { "ac" : ["" ]}, "adminSudo -- --sudo-as \\S+" , { "ac" : ["--sudo-cmd" ]}, - "adminSudo -- --sudo-as \\S+ --sudo-cmd" , { "pr" : [" -- " ]} + "adminSudo -- --sudo-as \\S+ --sudo-cmd" , { "ac" : ["" ]}, + "adminSudo -- --sudo-as \\S+ --sudo-cmd \\S+" , { "ac" : ["--" ]}, + "adminSudo -- --sudo-as \\S+ --sudo-cmd \\S+ --" , { "pr" : [" or additional COMMAND-specific options" ]} ] } diff --git a/lib/perl/OVH/Bastion/interactive.inc b/lib/perl/OVH/Bastion/interactive.inc index 83d7a78..a537dd9 100644 --- a/lib/perl/OVH/Bastion/interactive.inc +++ b/lib/perl/OVH/Bastion/interactive.inc @@ -149,6 +149,13 @@ EOM next; } } + elsif ($_ eq '') { + my $fnret = OVH::Bastion::get_plugin_list(); + if ($fnret) { + push @autocomplete, sort keys %{$fnret->value()}; + next; + } + } push @autocomplete, $_; } return @autocomplete;