From 793c77ece970299354d1e85cde30b561b6c5f250 Mon Sep 17 00:00:00 2001 From: Shohei YOSHIDA Date: Sat, 24 Dec 2022 19:49:05 +0900 Subject: [PATCH] Add extpack subcommand completion --- src/_virtualbox | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/src/_virtualbox b/src/_virtualbox index 700a3b4..9476d51 100644 --- a/src/_virtualbox +++ b/src/_virtualbox @@ -324,13 +324,13 @@ _vboxmanage() { # TODO ;; (extpack) - # TODO + _vboxmanage_expack && ret=0 ;; (updatecheck) - _vboxmanage_updatecheck + _vboxmanage_updatecheck && ret=0 ;; (modifynvram) - _vboxmanage_modifynvram + _vboxmanage_modifynvram && ret=0 ;; (discardstate|getextradata|setextradata) _arguments \ @@ -966,6 +966,36 @@ _vboxmanage_guestproperty() { return $ret } +(( $+functions[_vboxmanage_expack] )) || +_vboxmanage_expack() { + local ret=1 + + _arguments -C \ + '1: :(install uninstall cleanup)' \ + '*:: :->arg' \ + && ret=0 + + case $state in + (arg) + case $words[1] in + (install) + _arguments \ + '--replace[Uninstall existing extension pack version]' \ + '--accept-license=[Accept the license text with the given SHA-256 hash value]:sha256' \ + '*: :_files' \ + && ret=0 + ;; + (uninstall) + _arguments \ + '--force[Overrides most refusals to uninstall an extension pack]' \ + && ret=0 + ;; + esac + ;; + esac + + return $ret +} (( $+functions[_vboxmanage_updatecheck] )) || _vboxmanage_updatecheck() {