9533c35f896922cb96514000095e6de7d5183613

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

Message

Merge pull request #217 from MichaelAquilina/fix/uv-subdirectories

fix: keep uv venv activated in subdirectories

Diff

 1diff --git a/autoswitch_virtualenv.plugin.zsh b/autoswitch_virtualenv.plugin.zsh
 2index c5010a691ee9f8ea09554642e852da4f94e9405c..e6db48f38a72a6b93f75d9c3a72efe88d2278c8e 100644
 3--- a/autoswitch_virtualenv.plugin.zsh
 4+++ b/autoswitch_virtualenv.plugin.zsh
 5@@ -210,9 +210,9 @@ function check_venv()
 6                     return
 7                 fi
 8             elif [[ "$venv_path" == *"/uv.lock" ]]; then
 9-                if type "uv" > /dev/null && _activate_uv; then
10-                    return
11-                fi
12+                local uv_venv_path="$(dirname "$venv_path")/.venv"
13+                _maybeworkon "$uv_venv_path" "uv"
14+                return
15             # standard use case: $venv_path is a file containing a virtualenv name
16             elif [[ -f "$venv_path" ]]; then
17                 local switch_to="$(<"$venv_path")"