Diff
1diff --git a/CHANGELOG.rst b/CHANGELOG.rst
2index 828b2fa5c42a9aae8df77c39776bfa9a0e344499..37a82beb895617e9932f682f2ec8afcdd9b3ac08 100644
3--- a/CHANGELOG.rst
4+++ b/CHANGELOG.rst
5@@ -1,6 +1,10 @@
6 Changelog
7 =========
8
9+1.9.0
10+-----
11+* Show message when deactivating virtual environments
12+
13 1.8.2
14 -----
15 * local variables will no longer sneak into shell environment variables (Thanks @rnc)
16diff --git a/autoswitch_virtualenv.plugin.zsh b/autoswitch_virtualenv.plugin.zsh
17index 1a339e909af1a4bac59ceb2ce1a256caa79d8153..0ed093723537ad3773acec15ccaf6d015e6d5760 100644
18--- a/autoswitch_virtualenv.plugin.zsh
19+++ b/autoswitch_virtualenv.plugin.zsh
20@@ -1,4 +1,4 @@
21-export AUTOSWITCH_VERSION='1.8.2'
22+export AUTOSWITCH_VERSION='1.9.0'
23
24 RED="\e[31m"
25 GREEN="\e[32m"
26@@ -37,6 +37,13 @@ function _python_version() {
27 }
28
29
30+function _autoswitch_message() {
31+ if [ -z "$AUTOSWITCH_SILENT" ]; then
32+ printf "$@"
33+ fi
34+}
35+
36+
37 function _maybeworkon() {
38 local venv_dir="$1"
39 local venv_type="$2"
40@@ -56,14 +63,12 @@ function _maybeworkon() {
41 return
42 fi
43
44- if [ -z "$AUTOSWITCH_SILENT" ]; then
45- local py_version="$(_python_version "$venv_dir/bin/python")"
46- local message="${AUTOSWITCH_MESSAGE_FORMAT:-"$DEFAULT_MESSAGE_FORMAT"}"
47- message="${message//\%venv_type/$venv_type}"
48- message="${message//\%venv_name/$venv_name}"
49- message="${message//\%py_version/$py_version}"
50- printf "${message}\n"
51- fi
52+ local py_version="$(_python_version "$venv_dir/bin/python")"
53+ local message="${AUTOSWITCH_MESSAGE_FORMAT:-"$DEFAULT_MESSAGE_FORMAT"}"
54+ message="${message//\%venv_type/$venv_type}"
55+ message="${message//\%venv_name/$venv_name}"
56+ message="${message//\%py_version/$py_version}"
57+ _autoswitch_message "${message}\n"
58
59 # Much faster to source the activate file directly rather than use the `workon` command
60 source "$venv_dir/bin/activate"
61@@ -141,6 +146,7 @@ function _default_venv()
62 if [[ -n "$AUTOSWITCH_DEFAULTENV" ]]; then
63 _maybeworkon "$(_virtual_env_dir "$AUTOSWITCH_DEFAULTENV")" "virtualenv"
64 elif [[ -n "$VIRTUAL_ENV" ]]; then
65+ _autoswitch_message "Deactivating: ${BOLD}${PURPLE}%s${NORMAL}\n" "$(basename "$VIRTUAL_ENV")"
66 deactivate
67 fi
68 }
69diff --git a/tests/test_check_venv.zunit b/tests/test_check_venv.zunit
70index 41e188269374597d2ef6fb1b4dd2a4e89e30a7e7..586e64879953eae116dc75be798803d35ef2a3e7 100644
71--- a/tests/test_check_venv.zunit
72+++ b/tests/test_check_venv.zunit
73@@ -162,13 +162,12 @@
74 VIRTUAL_ENV="foo"
75 unset AUTOSWITCH_DEFAULTENV
76 function deactivate {
77- echo "deactivating"
78 }
79
80 run check_venv
81
82 assert $status equals 0
83- assert "$output" same_as "deactivating"
84+ assert "$output" same_as "Deactivating: \e[1m\e[35mfoo\e[0m"
85 }
86
87