diff options
author | Allan Caffee <allanc@aweber.com> | 2011-02-07 15:09:06 -0500 |
---|---|---|
committer | Allan Caffee <allanc@aweber.com> | 2011-02-07 15:37:18 -0500 |
commit | 8aec32b48bb88e980150a43586e7e02b9156e165 (patch) | |
tree | 0b56a459465eae688dfa04469f85e06b7de881c9 /plugins | |
parent | 01b0366f3e27cf30f3882870100f14625fc267d1 (diff) | |
download | zsh-8aec32b48bb88e980150a43586e7e02b9156e165.tar.gz zsh-8aec32b48bb88e980150a43586e7e02b9156e165.tar.bz2 zsh-8aec32b48bb88e980150a43586e7e02b9156e165.zip |
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.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/vagrant/_vagrant | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/plugins/vagrant/_vagrant b/plugins/vagrant/_vagrant index 483b29c53..9bed1e3c6 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 |