3 Commits

Author SHA1 Message Date
3404afa441 Added support for other names than vboxmanage.
Currently the completion script will be available for commands:
VBoxManage and vboxmanage. With this commit, renaming/linking this
script with another name will also make that name to be included to
completion.

For example, with alias:

    $ alias vb="VBoxManage"

linkig completion script into new name an source it:

    $ cd /path/of/completion/script/
    $ ln -s VBoxManage vb
    # source vb

will start to complete vb command.
2023-11-02 18:14:29 +01:00
ab6d9f7cd9 Added missing completions for cloud related commands.
Also, removed trailing spaces.
2023-11-02 18:11:41 +01:00
3bb795a1e3 Bump to 7.0.10 2023-09-11 10:30:29 +02:00
2 changed files with 36 additions and 22 deletions

View File

@@ -6,7 +6,7 @@ script. However, in some point of time I've decided to rewrite it almost from
scratch. scratch.
Current version of script was written and tested against VBoxManage in version Current version of script was written and tested against VBoxManage in version
7.0.8, and should contain all commands and their options. 7.0.10, and should contain all commands and their options.
Unlike other attempts, I've tried to make the script context aware. See the Unlike other attempts, I've tried to make the script context aware. See the
simple session with the VBoxManage command below, to have an idea how it works: simple session with the VBoxManage command below, to have an idea how it works:

View File

@@ -4,7 +4,7 @@
# URL: https://bitbucket.org/gryf/vboxmanage-bash-completion # URL: https://bitbucket.org/gryf/vboxmanage-bash-completion
# URL: https://github.com/gryf/vboxmanage-bash-completion # URL: https://github.com/gryf/vboxmanage-bash-completion
# License: 3-clause BSD-style license (see LICENSE file) # License: 3-clause BSD-style license (see LICENSE file)
# Version: 7.0.8 # Version: 7.0.10
_VBoxManage() { _VBoxManage() {
@@ -677,11 +677,12 @@ _VBoxManage() {
_cloudprofiles_comp _cloudprofiles_comp
;; ;;
list) list)
COMPREPLY=( $(compgen -W "instances images" -- ${cur}) ) COMPREPLY=( $(compgen -W "instances images vnicattachments"
-- ${cur}) )
;; ;;
instance) instance)
COMPREPLY=( $(compgen -W "create info terminate start COMPREPLY=( $(compgen -W "create info terminate start
pause" -- ${cur}) ) pause reset" -- ${cur}) )
;; ;;
image) image)
COMPREPLY=( $(compgen -W "create info delete import COMPREPLY=( $(compgen -W "create info delete import
@@ -692,6 +693,13 @@ _VBoxManage() {
COMPREPLY=( $(compgen -W "setup create" -- ${cur}) ) COMPREPLY=( $(compgen -W "setup create" -- ${cur}) )
fi fi
;; ;;
reset)
COMPREPLY=( $(compgen -W "--id" -- ${cur}) )
;;
vnicattachments)
COMPREPLY=( $(compgen -W "--compartment-id --filter"
-- ${cur}) )
;;
esac esac
if [[ " ${COMP_WORDS[*]} " == *" list images"* || if [[ " ${COMP_WORDS[*]} " == *" list images"* ||
" ${COMP_WORDS[*]} " == *" list instances"* ]]; then " ${COMP_WORDS[*]} " == *" list instances"* ]]; then
@@ -1425,7 +1433,7 @@ _VBoxManage() {
if [[ " ${items[*]} " == *" $subcommand "* ]]; then if [[ " ${items[*]} " == *" $subcommand "* ]]; then
case "${subcommand}" in case "${subcommand}" in
run) run)
items=( --domain --dos2unix --exe items=( --arg0 --domain --dos2unix --exe
--ignore-operhaned-processes --profile --putenv --ignore-operhaned-processes --profile --putenv
--quiet --timeout --unix2dos --unquoted-args --quiet --timeout --unix2dos --unquoted-args
--username --verbose -- ) --username --verbose -- )
@@ -1445,9 +1453,10 @@ _VBoxManage() {
;; ;;
start) start)
items=( --domain --exe --ignore-orphaned-processes items=( --arg0 --domain --exe
--profile --putenv --quiet --timeout --ignore-orphaned-processes --profile --putenv
--unquoted-args --username --verbose -- ) --quiet --timeout --unquoted-args --username
--verbose -- )
[[ " ${COMP_WORDS[*]} " != *" --password "* || [[ " ${COMP_WORDS[*]} " != *" --password "* ||
" ${COMP_WORDS[*]} " != *" --passwordfile "* ]] && " ${COMP_WORDS[*]} " != *" --passwordfile "* ]] &&
@@ -2855,4 +2864,9 @@ _VBoxManage() {
complete -o default -F _VBoxManage VBoxManage complete -o default -F _VBoxManage VBoxManage
complete -o default -F _VBoxManage vboxmanage complete -o default -F _VBoxManage vboxmanage
if [[ "${BASH_SOURCE[0]}" != 'VBoxManage' &&
"${BASH_SOURCE[0]}" != 'vboxmanage' ]]; then
complete -o default -F _VBoxManage $(basename "${BASH_SOURCE[0]}")
fi
# vim: set ft=sh tw=80 sw=4 et : # vim: set ft=sh tw=80 sw=4 et :