52c830cd32db19a9e24b5a34715557fd651f1514

Author
Stephan Schielke <401815+stephanschielke@users.noreply.github.com>
Committer
GitHub <noreply@github.com>
Date

Message

fix(poetry-env): handle Poetry returning "." for venv path (#13183)

Diff

 1diff --git a/plugins/poetry-env/poetry-env.plugin.zsh b/plugins/poetry-env/poetry-env.plugin.zsh
 2index d2d571dbeeaf8e20b1cd7696cd6606938ca2f077..5f6fd45113529f461289609149419798e7ade6d9 100644
 3--- a/plugins/poetry-env/poetry-env.plugin.zsh
 4+++ b/plugins/poetry-env/poetry-env.plugin.zsh
 5@@ -15,7 +15,12 @@ _togglePoetryShell() {
 6   # Activate the environment if in a Poetry directory and no environment is currently active
 7   if [[ $in_poetry_dir -eq 1 ]] && [[ $poetry_active -ne 1 ]]; then
 8     venv_dir=$(poetry env info --path 2>/dev/null)
 9-    if [[ -n "$venv_dir" ]]; then
10+    # Handle case where poetry returns "." for in-project virtual environments
11+    if [[ "$venv_dir" == "." ]]; then
12+      venv_dir="$PWD/.venv"
13+    fi
14+    # Only proceed if venv_dir is set and the activate script exists
15+    if [[ -n "$venv_dir" && -f "${venv_dir}/bin/activate" ]]; then
16       export poetry_active=1
17       export poetry_dir="$PWD"
18       source "${venv_dir}/bin/activate"