diff options
| author | Kozlov Alexander <badryke@gmail.com> | 2018-11-16 13:38:43 +0300 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-11-16 13:38:43 +0300 | 
| commit | 8c95c52353118643ac3dbd9b0c185a3129b84bf8 (patch) | |
| tree | ee7497251b7a541480ae5c6a97b63b14381ed5ee /plugins/pyenv | |
| parent | dd30cf104c9ca42d89d26a134382ca421869ce7e (diff) | |
| parent | 3d8f2bda599c8c6d160dc448e5ab28aaf2d5e90d (diff) | |
| download | zsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.tar.gz zsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.tar.bz2 zsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.zip | |
Merge branch 'master' into master
Diffstat (limited to 'plugins/pyenv')
| -rw-r--r-- | plugins/pyenv/pyenv.plugin.zsh | 77 | 
1 files changed, 34 insertions, 43 deletions
| diff --git a/plugins/pyenv/pyenv.plugin.zsh b/plugins/pyenv/pyenv.plugin.zsh index ec3ae9f5b..dbc7da472 100644 --- a/plugins/pyenv/pyenv.plugin.zsh +++ b/plugins/pyenv/pyenv.plugin.zsh @@ -1,50 +1,41 @@ -_homebrew-installed() { -    type brew &> /dev/null -} - -_pyenv-from-homebrew-installed() { -    brew --prefix pyenv &> /dev/null -} - -FOUND_PYENV=0 -pyenvdirs=("$HOME/.pyenv" "/usr/local/pyenv" "/opt/pyenv") - -for pyenvdir in "${pyenvdirs[@]}" ; do -    if [ -d $pyenvdir/bin -a $FOUND_PYENV -eq 0 ] ; then -        FOUND_PYENV=1 -        export PYENV_ROOT=$pyenvdir -        export PATH=${pyenvdir}/bin:$PATH -        eval "$(pyenv init - zsh)" - -        if pyenv commands | command grep -q virtualenv-init; then -            eval "$(pyenv virtualenv-init - zsh)" +# This plugin loads pyenv into the current shell and provides prompt info via +# the 'pyenv_prompt_info' function. Also loads pyenv-virtualenv if available. + +FOUND_PYENV=$+commands[pyenv] + +if [[ $FOUND_PYENV -ne 1 ]]; then +    pyenvdirs=("$HOME/.pyenv" "/usr/local/pyenv" "/opt/pyenv") +    for dir in $pyenvdirs; do +        if [[ -d $dir/bin ]]; then +            export PATH="$PATH:$dir/bin" +            FOUND_PYENV=1 +            break          fi +    done +fi -        function pyenv_prompt_info() { -            echo "$(pyenv version-name)" -        } -    fi -done -unset pyenvdir - -if [ $FOUND_PYENV -eq 0 ] ; then -    pyenvdir=$(brew --prefix pyenv 2> /dev/null) -    if [ $? -eq 0 -a -d $pyenvdir/bin ] ; then -        FOUND_PYENV=1 -        export PYENV_ROOT=$pyenvdir -        export PATH=${pyenvdir}/bin:$PATH -        eval "$(pyenv init - zsh)" - -        if pyenv commands | command grep -q virtualenv-init; then -            eval "$(pyenv virtualenv-init - zsh)" +if [[ $FOUND_PYENV -ne 1 ]]; then +    if (( $+commands[brew] )) && dir=$(brew --prefix pyenv 2>/dev/null); then +        if [[ -d $dir/bin ]]; then +            export PATH="$PATH:$dir/bin" +            FOUND_PYENV=1          fi - -        function pyenv_prompt_info() { -            echo "$(pyenv version-name)" -        }      fi  fi -if [ $FOUND_PYENV -eq 0 ] ; then -    function pyenv_prompt_info() { echo "system: $(python -V 2>&1 | cut -f 2 -d ' ')" } +if [[ $FOUND_PYENV -eq 1 ]]; then +    eval "$(pyenv init - zsh)" +    if (( $+commands[pyenv-virtualenv-init] )); then +        eval "$(pyenv virtualenv-init - zsh)" +    fi +    function pyenv_prompt_info() { +        echo "$(pyenv version-name)" +    } +else +    # fallback to system python +    function pyenv_prompt_info() { +        echo "system: $(python -V 2>&1 | cut -f 2 -d ' ')" +    }  fi + +unset FOUND_PYENV dir | 
