diff --git a/plugins/vagrant/_vagrant b/plugins/vagrant/_vagrant index 483b29c5..9bed1e3c 100644 --- a/plugins/vagrant/_vagrant +++ b/plugins/vagrant/_vagrant @@ -46,6 +46,11 @@ __box_list () _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 () { local curcontext="$curcontext" state line @@ -99,6 +104,8 @@ case $state in (box) __vagrant-box ;; + (up|provision|package|destroy|reload|ssh|halt|resume|status) + _arguments ':feature:__vm_list' esac ;; esac