scripts/cd in rvm-1.0.10 vs scripts/cd in rvm-1.0.11

- old
+ new

@@ -1,33 +1,58 @@ #!/usr/bin/env bash # Source a .rvmrc file in a directory after changing to it, if it exists. # To disable this fature, set export rvm_project_rvmrc=0 in $HOME/.rvmrc if [[ ${rvm_project_rvmrc:-1} -ne 0 ]] ; then + if [[ -n "${ZSH_VERSION:-""}" ]] ; then + autoload is-at-least + if is-at-least 4.3.4 >/dev/null 2>&1; then # On zsh, use chpwd_functions chpwd_functions=( "${chpwd_functions[@]}" __rvm_project_rvmrc ) else + cd() { builtin cd "$@" local result=$? __rvm_project_rvmrc rvm_hook="after_cd" ; source "$rvm_path/scripts/hook" return $result } + fi + else + cd() { builtin cd "$@" local result=$? __rvm_project_rvmrc rvm_hook="after_cd" ; source "$rvm_path/scripts/hook" return $result } + + _rvm_cd_complete () + { + local cur matches + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + + matches=$(for dir in $(echo $CDPATH | tr -s ':' ' ') ; do + find $dir/* -type d -maxdepth 0 -exec basename {} \; + done | sort | uniq) + + COMPREPLY=( $(compgen -W "${matches}" -- ${cur}) ) + } + + complete -o bashdefault -o default -o dirnames -o filenames -o nospace -o plusdirs -F _rvm_cd_complete cd + fi + fi +