summaryrefslogtreecommitdiff
path: root/plugins/pyenv
diff options
context:
space:
mode:
authorStig Sandbeck Mathisen <ssm@fnord.no>2013-11-19 09:12:05 +0100
committerStig Sandbeck Mathisen <ssm@fnord.no>2013-11-19 09:12:05 +0100
commit613d116cda381b9747e22d13ed1381cec26eb8e3 (patch)
tree79bda610aab610ad1512ef6cdcce3e7b06da5e84 /plugins/pyenv
parent9f5a895192b7d6b75ba717ef4e2c9b6ed7977c68 (diff)
downloadzsh-613d116cda381b9747e22d13ed1381cec26eb8e3.tar.gz
zsh-613d116cda381b9747e22d13ed1381cec26eb8e3.tar.bz2
zsh-613d116cda381b9747e22d13ed1381cec26eb8e3.zip
Add pyenv plugin
Diffstat (limited to 'plugins/pyenv')
-rw-r--r--plugins/pyenv/pyenv.plugin.zsh31
1 files changed, 31 insertions, 0 deletions
diff --git a/plugins/pyenv/pyenv.plugin.zsh b/plugins/pyenv/pyenv.plugin.zsh
new file mode 100644
index 000000000..b3dc7aa17
--- /dev/null
+++ b/plugins/pyenv/pyenv.plugin.zsh
@@ -0,0 +1,31 @@
+_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")
+if _homebrew-installed && _pyenv-from-homebrew-installed ; then
+ pyenvdirs=($(brew --prefix pyenv) "${pyenvdirs[@]}")
+fi
+
+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 --no-rehash - zsh)"
+
+ function pyenv_prompt_info() {
+ echo "$(pyenv version-name)"
+ }
+ fi
+done
+unset pyenvdir
+
+if [ $FOUND_PYENV -eq 0 ] ; then
+ function pyenv_prompt_info() { echo "system: $(python -V 2>&1 | cut -f 2 -d ' ')" }
+fi