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+}