diff options
author | Marvin Borner | 2019-03-05 01:09:01 +0100 |
---|---|---|
committer | Marvin Borner | 2019-03-05 01:09:01 +0100 |
commit | 55457187d18221e76bd12f0fb2cfab65c49b92fb (patch) | |
tree | 8db042d2d80710d54100c2709ad4332153ac848a /.oh-my-zsh/plugins/pyenv |
Initial commit
Diffstat (limited to '.oh-my-zsh/plugins/pyenv')
-rw-r--r-- | .oh-my-zsh/plugins/pyenv/pyenv.plugin.zsh | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/.oh-my-zsh/plugins/pyenv/pyenv.plugin.zsh b/.oh-my-zsh/plugins/pyenv/pyenv.plugin.zsh new file mode 100644 index 0000000..dbc7da4 --- /dev/null +++ b/.oh-my-zsh/plugins/pyenv/pyenv.plugin.zsh @@ -0,0 +1,41 @@ +# 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 + +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)" + 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 |