From 0aa645f8033ef86f8c8b0729a94fc54fbec49a25 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?= <marc.cornella@live.com>
Date: Tue, 15 May 2018 12:07:23 +0200
Subject: [PATCH] pyenv: search the pyenv command if not found (#6811)

---
 plugins/pyenv/pyenv.plugin.zsh | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/plugins/pyenv/pyenv.plugin.zsh b/plugins/pyenv/pyenv.plugin.zsh
index 76880e415..dbc7da472 100644
--- a/plugins/pyenv/pyenv.plugin.zsh
+++ b/plugins/pyenv/pyenv.plugin.zsh
@@ -1,7 +1,29 @@
 # This plugin loads pyenv into the current shell and provides prompt info via
 # the 'pyenv_prompt_info' function. Also loads pyenv-virtualenv if available.
 
-if (( $+commands[pyenv] )); then
+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
+
+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
+    fi
+fi
+
+if [[ $FOUND_PYENV -eq 1 ]]; then
     eval "$(pyenv init - zsh)"
     if (( $+commands[pyenv-virtualenv-init] )); then
         eval "$(pyenv virtualenv-init - zsh)"
@@ -15,3 +37,5 @@ else
         echo "system: $(python -V 2>&1 | cut -f 2 -d ' ')"
     }
 fi
+
+unset FOUND_PYENV dir
-- 
2.21.0