Add vagrant completion for individual VMs
For multi-VM setups some commands take the name of a virtual machine. Read the Vagrantfile and offer suggestions.
This commit is contained in:
parent
01b0366f3e
commit
8aec32b48b
@ -46,6 +46,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
|
||||||
@ -99,6 +104,8 @@ case $state in
|
|||||||
(box)
|
(box)
|
||||||
__vagrant-box
|
__vagrant-box
|
||||||
;;
|
;;
|
||||||
|
(up|provision|package|destroy|reload|ssh|halt|resume|status)
|
||||||
|
_arguments ':feature:__vm_list'
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
Loading…
Reference in New Issue
Block a user