8d8b30a9785a2ff6574a22acb3d7e12a80359717

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

Message

Show message upon virtualenv deactivation

Diff

 1diff --git a/autoswitch_virtualenv.plugin.zsh b/autoswitch_virtualenv.plugin.zsh
 2index 1a339e909af1a4bac59ceb2ce1a256caa79d8153..bb459d052a4b9c57784301a5f7dd51a1a6e3908b 100644
 3--- a/autoswitch_virtualenv.plugin.zsh
 4+++ b/autoswitch_virtualenv.plugin.zsh
 5@@ -37,6 +37,13 @@ function _python_version() {
 6 }
 7 
 8 
 9+function _autoswitch_message() {
10+    if [ -z "$AUTOSWITCH_SILENT" ]; then
11+        printf "$@"
12+    fi
13+}
14+
15+
16 function _maybeworkon() {
17     local venv_dir="$1"
18     local venv_type="$2"
19@@ -56,14 +63,12 @@ function _maybeworkon() {
20             return
21         fi
22 
23-        if [ -z "$AUTOSWITCH_SILENT" ]; then
24-            local py_version="$(_python_version "$venv_dir/bin/python")"
25-            local message="${AUTOSWITCH_MESSAGE_FORMAT:-"$DEFAULT_MESSAGE_FORMAT"}"
26-            message="${message//\%venv_type/$venv_type}"
27-            message="${message//\%venv_name/$venv_name}"
28-            message="${message//\%py_version/$py_version}"
29-            printf "${message}\n"
30-        fi
31+        local py_version="$(_python_version "$venv_dir/bin/python")"
32+        local message="${AUTOSWITCH_MESSAGE_FORMAT:-"$DEFAULT_MESSAGE_FORMAT"}"
33+        message="${message//\%venv_type/$venv_type}"
34+        message="${message//\%venv_name/$venv_name}"
35+        message="${message//\%py_version/$py_version}"
36+        _autoswitch_message "${message}\n"
37 
38         # Much faster to source the activate file directly rather than use the `workon` command
39         source "$venv_dir/bin/activate"
40@@ -141,6 +146,7 @@ function _default_venv()
41     if [[ -n "$AUTOSWITCH_DEFAULTENV" ]]; then
42         _maybeworkon "$(_virtual_env_dir "$AUTOSWITCH_DEFAULTENV")" "virtualenv"
43     elif [[ -n "$VIRTUAL_ENV" ]]; then
44+        _autoswitch_message "Deactivating: ${BOLD}${PURPLE}%s${NORMAL}\n" "$(basename "$VIRTUAL_ENV")"
45         deactivate
46     fi
47 }
48diff --git a/tests/test_check_venv.zunit b/tests/test_check_venv.zunit
49index 41e188269374597d2ef6fb1b4dd2a4e89e30a7e7..586e64879953eae116dc75be798803d35ef2a3e7 100644
50--- a/tests/test_check_venv.zunit
51+++ b/tests/test_check_venv.zunit
52@@ -162,13 +162,12 @@
53     VIRTUAL_ENV="foo"
54     unset AUTOSWITCH_DEFAULTENV
55     function deactivate {
56-        echo "deactivating"
57     }
58 
59     run check_venv
60 
61     assert $status equals 0
62-    assert "$output" same_as "deactivating"
63+    assert "$output" same_as "Deactivating: \e[1m\e[35mfoo\e[0m"
64 }
65 
66