refactored version; valid workflow
parent
4350c3f13f
commit
5f6125e480
|
|
@ -1,34 +1,44 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
_vagrant()
|
_vagrant()
|
||||||
{
|
{
|
||||||
local cur prev commands
|
|
||||||
COMPREPLY=()
|
|
||||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||||
|
|
||||||
# The commands we will complete
|
|
||||||
commands="box destroy halt help init package provision reload resume ssh ssh_config status suspend up version"
|
|
||||||
|
|
||||||
case "${prev}" in
|
if [ $COMP_CWORD == 1 ]
|
||||||
"remove"|"repackage")
|
then
|
||||||
#local vagrantlist=$(gem list -l|grep '([0-9].*)'|awk 'BEGIN {ORS=" "} { print $1}'|sort)
|
commands="box destroy halt help init package provision reload resume ssh ssh_config status suspend up version"
|
||||||
#local vagrantlist=$(command ls --color=none -l $HOME/.vagrant/boxes 2>/dev/null | sed -e 's/ /\\ /g' | awk 'BEGIN {ORS=" "} {print $2}' )
|
COMPREPLY=($(compgen -W "${commands}" -- ${cur}))
|
||||||
local vagrantlist=$(find $HOME/.vagrant/boxes/* -maxdepth 0 -type d -printf '%f ')
|
|
||||||
COMPREPLY=($(compgen -W "${vagrantlist}" -- ${cur}))
|
|
||||||
return 0
|
return 0
|
||||||
;;
|
fi
|
||||||
"box")
|
|
||||||
|
if [ $COMP_CWORD == 2 ]
|
||||||
|
then
|
||||||
|
if [ $prev == 'box' ]
|
||||||
|
then
|
||||||
commands="add help list remove repackage"
|
commands="add help list remove repackage"
|
||||||
COMPREPLY=($(compgen -W "${commands}" -- ${cur}))
|
COMPREPLY=($(compgen -W "${commands}" -- ${cur}))
|
||||||
return 0
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $COMP_CWORD == 3 ]
|
||||||
|
then
|
||||||
|
action="${COMP_WORDS[COMP_CWORD-2]}"
|
||||||
|
if [ $action == 'box' ]
|
||||||
|
then
|
||||||
|
case "$prev" in
|
||||||
|
"remove"|"repackage")
|
||||||
|
local vagrantlist=$(find $HOME/.vagrant/boxes/* -maxdepth 0 -type d -printf '%f ')
|
||||||
|
COMPREPLY=($(compgen -W "${vagrantlist}" -- ${cur}))
|
||||||
|
return 0
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
COMPREPLY=($(compgen -W "${commands}" -- ${cur}))
|
|
||||||
return 0
|
|
||||||
}
|
}
|
||||||
complete -F _vagrant vagrant
|
complete -F _vagrant vagrant
|
||||||
complete -F _vagrant vagrant-e
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue