dfc03c7bb664229e9b014728f8ee4bc2220ad9d2

Author
Luke Lazurite <LukeXuan@users.noreply.github.com>
Committer
Robby Russell <robby@planetargon.com>
Date

Message

optimize load of pyenv with homebrew (#6142)

Diff

 1diff --git a/plugins/pyenv/pyenv.plugin.zsh b/plugins/pyenv/pyenv.plugin.zsh
 2index aa1f9488aed5f1165305c88cad21d10d9d9fb115..ec3ae9f5b869b9d79883dd18a211eecfa668eece 100644
 3--- a/plugins/pyenv/pyenv.plugin.zsh
 4+++ b/plugins/pyenv/pyenv.plugin.zsh
 5@@ -8,9 +8,6 @@ _pyenv-from-homebrew-installed() {
 6 
 7 FOUND_PYENV=0
 8 pyenvdirs=("$HOME/.pyenv" "/usr/local/pyenv" "/opt/pyenv")
 9-if _homebrew-installed && _pyenv-from-homebrew-installed ; then
10-    pyenvdirs=($(brew --prefix pyenv) "${pyenvdirs[@]}")
11-fi
12 
13 for pyenvdir in "${pyenvdirs[@]}" ; do
14     if [ -d $pyenvdir/bin -a $FOUND_PYENV -eq 0 ] ; then
15@@ -30,6 +27,24 @@ for pyenvdir in "${pyenvdirs[@]}" ; do
16 done
17 unset pyenvdir
18 
19+if [ $FOUND_PYENV -eq 0 ] ; then
20+    pyenvdir=$(brew --prefix pyenv 2> /dev/null)
21+    if [ $? -eq 0 -a -d $pyenvdir/bin ] ; then
22+        FOUND_PYENV=1
23+        export PYENV_ROOT=$pyenvdir
24+        export PATH=${pyenvdir}/bin:$PATH
25+        eval "$(pyenv init - zsh)"
26+
27+        if pyenv commands | command grep -q virtualenv-init; then
28+            eval "$(pyenv virtualenv-init - zsh)"
29+        fi
30+
31+        function pyenv_prompt_info() {
32+            echo "$(pyenv version-name)"
33+        }
34+    fi
35+fi
36+
37 if [ $FOUND_PYENV -eq 0 ] ; then
38     function pyenv_prompt_info() { echo "system: $(python -V 2>&1 | cut -f 2 -d ' ')" }
39 fi