Vagrant autocompletion: base working version

pull/26/head
Fedyashev Nikita 2010-11-18 23:42:30 -05:00
parent cb681121e4
commit 4350c3f13f
1 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,34 @@
#!/bin/bash
_vagrant()
{
local cur prev commands
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
# The commands we will complete
commands="box destroy halt help init package provision reload resume ssh ssh_config status suspend up version"
case "${prev}" in
"remove"|"repackage")
#local vagrantlist=$(gem list -l|grep '([0-9].*)'|awk 'BEGIN {ORS=" "} { print $1}'|sort)
#local vagrantlist=$(command ls --color=none -l $HOME/.vagrant/boxes 2>/dev/null | sed -e 's/ /\\ /g' | awk 'BEGIN {ORS=" "} {print $2}' )
local vagrantlist=$(find $HOME/.vagrant/boxes/* -maxdepth 0 -type d -printf '%f ')
COMPREPLY=($(compgen -W "${vagrantlist}" -- ${cur}))
return 0
;;
"box")
commands="add help list remove repackage"
COMPREPLY=($(compgen -W "${commands}" -- ${cur}))
return 0
;;
*)
;;
esac
COMPREPLY=($(compgen -W "${commands}" -- ${cur}))
return 0
}
complete -F _vagrant vagrant
complete -F _vagrant vagrant-e