diff --git a/completions/rbenv.bash b/completions/rbenv.bash new file mode 100644 index 00000000..804ac2f2 --- /dev/null +++ b/completions/rbenv.bash @@ -0,0 +1,41 @@ +_commands() +{ + local cur commands + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + commands="exec prefix rehash set-default set-local version versions\ + whence which" + + COMPREPLY=( $( compgen -W "${commands}" -- ${cur} ) ) +} + +_rubies() +{ + local cur rubies + local ROOT=$HOME/.rbenv/versions + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + rubies=($ROOT/*) + # remove all but the final part of the name + rubies="${rubies[@]##*/}" + + COMPREPLY=( $( compgen -W "${rubies}" -- ${cur} ) ) +} + +_rbenv() +{ + local cur prev + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + + if [[ "${prev}" == set-default ]]; then + _rubies + else + _commands + fi +} + +complete -F _rbenv rbenv + +# vim: set ts=4 sw=4 tw=75 filetype=sh: \ No newline at end of file