Merge pull request #58 from sorin-ionescu/vagrant

vagrant: complete vm names
This commit is contained in:
Julien Nicoulaud 2011-09-26 06:13:46 -07:00
commit df1afcda5d
1 changed files with 10 additions and 3 deletions

View File

@ -1,4 +1,4 @@
#compdef vagrant #compdef vagrant
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Description # Description
# ----------- # -----------
@ -62,6 +62,11 @@ __box_list ()
_wanted application expl 'command' compadd $(command ls -1 $HOME/.vagrant/boxes 2>/dev/null| sed -e 's/ /\\ /g') _wanted application expl 'command' compadd $(command ls -1 $HOME/.vagrant/boxes 2>/dev/null| sed -e 's/ /\\ /g')
} }
__vm_list ()
{
_wanted application expl 'command' compadd $(command grep Vagrantfile -oe '^[^#]*\.vm\.define *:\([a-zA-Z0-9]\+\)' 2>/dev/null | cut -d: -f2)
}
__vagrant-box () __vagrant-box ()
{ {
local curcontext="$curcontext" state line local curcontext="$curcontext" state line
@ -80,7 +85,7 @@ __vagrant-box ()
(options) (options)
case $line[1] in case $line[1] in
(repackage|remove) (repackage|remove)
_arguments ':feature:__box_list' _arguments ':feature:__box_list'
;; ;;
esac esac
;; ;;
@ -109,12 +114,14 @@ case $state in
(options) (options)
case $line[1] in case $line[1] in
(help) (help)
_arguments ':feature:__task_list' _arguments ':feature:__task_list'
;; ;;
(box) (box)
__vagrant-box __vagrant-box
;; ;;
(up|provision|package|destroy|reload|ssh|halt|resume|status)
_arguments ':feature:__vm_list'
esac esac
;; ;;
esac esac