From: Fedyashev Nikita Date: Fri, 19 Nov 2010 04:42:30 +0000 (-0500) Subject: Vagrant autocompletion: base working version X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=4350c3f13fbe2f615012d1e9bf147d578d77c31f;p=common%2Fbash_it.git Vagrant autocompletion: base working version --- diff --git a/plugins/vagrant.plugins.bash b/plugins/vagrant.plugins.bash new file mode 100644 index 0000000..3d05f7e --- /dev/null +++ b/plugins/vagrant.plugins.bash @@ -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 +