Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Oh My Zsh
Commits
8efcf277
Commit
8efcf277
authored
Apr 22, 2018
by
Terrance Kennedy
Committed by
Marc Cornellà
Apr 22, 2018
Browse files
pyenv plugin refactor (8x faster) (#6165)
* Refactor pyenv plugin to use PATH
parent
897a7da6
Changes
1
Show whitespace changes
Inline
Side-by-side
plugins/pyenv/pyenv.plugin.zsh
View file @
8efcf277
_homebrew-installed
()
{
# This plugin loads pyenv into the current shell and provides prompt info via
type
brew &> /dev/null
# the 'pyenv_prompt_info' function. Also loads pyenv-virtualenv if available.
}
_pyenv-from-homebrew-installed
()
{
if
((
$+
commands[pyenv]
))
;
then
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
)
"
eval
"
$(
pyenv init - zsh
)
"
if
((
$+
commands[pyenv-virtualenv-init]
))
;
then
if
pyenv commands |
command grep
-q
virtualenv-init
;
then
eval
"
$(
pyenv virtualenv-init - zsh
)
"
eval
"
$(
pyenv virtualenv-init - zsh
)
"
fi
fi
function
pyenv_prompt_info
()
{
function
pyenv_prompt_info
()
{
echo
"
$(
pyenv version-name
)
"
echo
"
$(
pyenv version-name
)
"
}
}
fi
else
done
# fallback to system python
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
)
"
fi
function
pyenv_prompt_info
()
{
function
pyenv_prompt_info
()
{
echo
"
$(
pyenv version-name
)
"
echo
"
system:
$(
python
-V
2>&1 |
cut
-f
2
-d
' '
)
"
}
}
fi
fi
if
[
$FOUND_PYENV
-eq
0
]
;
then
function
pyenv_prompt_info
()
{
echo
"system:
$(
python
-V
2>&1 |
cut
-f
2
-d
' '
)
"
}
fi
fi
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment