diff --git a/completions/_rbenv.zsh b/completions/_rbenv.zsh new file mode 100644 index 0000000..da51e40 --- /dev/null +++ b/completions/_rbenv.zsh @@ -0,0 +1,20 @@ +#compdef _rbenv rbenv + +function _rbenv_commands() { + cmds_str="$(rbenv commands)" + cmds=("${(ps:\n:)cmds_str}") + _describe '_rbenv_commands' cmds +} + +_rbenv_versions() { + versions_str="$(rbenv versions --bare)" + versions=(system "${(ps:\n:)versions_str}") + _describe '_rbenv_versions' versions +} + +_rbenv() { + case "$words[2]" in + set-local | set-default | prefix ) _rbenv_versions ;; + * ) _rbenv_commands ;; + esac +}