aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSorin Ionescu <sorin.ionescu@gmail.com>2011-09-25 20:10:19 -0400
committerSorin Ionescu <sorin.ionescu@gmail.com>2011-09-25 20:10:38 -0400
commite0bda00d2bd1828cb38290f8af51d81f44e7db99 (patch)
tree0c78a67823fedd0917dc87f90a20b2b7e437f2b8
parentRewrite/complete _teamocil (diff)
downloadzsh-completions-e0bda00d2bd1828cb38290f8af51d81f44e7db99.tar
zsh-completions-e0bda00d2bd1828cb38290f8af51d81f44e7db99.tar.gz
zsh-completions-e0bda00d2bd1828cb38290f8af51d81f44e7db99.tar.bz2
zsh-completions-e0bda00d2bd1828cb38290f8af51d81f44e7db99.tar.lz
zsh-completions-e0bda00d2bd1828cb38290f8af51d81f44e7db99.tar.xz
zsh-completions-e0bda00d2bd1828cb38290f8af51d81f44e7db99.tar.zst
zsh-completions-e0bda00d2bd1828cb38290f8af51d81f44e7db99.zip
vagrant: complete vm names
-rw-r--r--_vagrant13
1 files changed, 10 insertions, 3 deletions
diff --git a/_vagrant b/_vagrant
index cb50882..fede01e 100644
--- a/_vagrant
+++ b/_vagrant
@@ -1,4 +1,4 @@
-#compdef vagrant
+#compdef vagrant
# ------------------------------------------------------------------------------
# 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')
}
+__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
@@ -80,7 +85,7 @@ __vagrant-box ()
(options)
case $line[1] in
(repackage|remove)
- _arguments ':feature:__box_list'
+ _arguments ':feature:__box_list'
;;
esac
;;
@@ -109,12 +114,14 @@ case $state in
(options)
case $line[1] in
(help)
- _arguments ':feature:__task_list'
+ _arguments ':feature:__task_list'
;;
(box)
__vagrant-box
;;
+ (up|provision|package|destroy|reload|ssh|halt|resume|status)
+ _arguments ':feature:__vm_list'
esac
;;
esac