Commit 8aec32b4 authored by Allan Caffee's avatar Allan Caffee
Browse files

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.
parent 01b0366f
...@@ -46,6 +46,11 @@ __box_list () ...@@ -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 ...@@ -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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment