aeabceae49e516a5d36da887d4771d20d1cfb50d

Author
Michael Aquilina <michaelaquilina@gmail.com>
Committer
Michael Aquilina <michaelaquilina@gmail.com>
Date

Message

Add initial plugin version

Diff

 1diff --git a/autoswitch_virtualenv.plugin.zsh b/autoswitch_virtualenv.plugin.zsh
 2new file mode 100644
 3index 0000000000000000000000000000000000000000..7c6551d9608f6fa7d83edd1d06685a63038718b3
 4--- /dev/null
 5+++ b/autoswitch_virtualenv.plugin.zsh
 6@@ -0,0 +1,24 @@
 7+precmd() { check_venv }
 8+
 9+
10+function maybeworkon() {
11+  if [ "$1" != "$(basename $VIRTUAL_ENV)" ]; then
12+     printf "Switching virtualenv: $1  "
13+     workon "$1"
14+     # For some reason python --version writes to stderr
15+     printf "[%s]\n" "$(python --version 2>&1)"
16+  fi
17+}
18+
19+# Automatically switch virtualenv when .venv file detected
20+function check_venv()
21+{
22+    if [ "$PWD" != "$MYOLDPWD" ]; then
23+        MYOLDPWD="$PWD"
24+        if [[ -f ".venv" ]]; then
25+           maybeworkon `cat .venv`
26+        else
27+           maybeworkon default3
28+        fi
29+    fi
30+}