mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-04-12 17:29:32 +00:00
feat(python): add recursive parent directory search for auto_vrun
Add PYTHON_AUTO_VRUN_RECURSIVE option to search parent directories for virtual environments, useful for monorepos where venv is at project root but you work in subdirectories.
This commit is contained in:
@@ -113,8 +113,21 @@ if [[ "$PYTHON_AUTO_VRUN" == "true" ]]; then
|
||||
# make sure we're not in a venv already
|
||||
(( $+functions[deactivate] )) && deactivate > /dev/null 2>&1
|
||||
source $file > /dev/null 2>&1
|
||||
break
|
||||
return
|
||||
done
|
||||
|
||||
# Search parent directories if recursive mode is enabled
|
||||
if [[ "$PYTHON_AUTO_VRUN_RECURSIVE" == "true" ]]; then
|
||||
local search_dir="$PWD:h"
|
||||
while [[ "$search_dir" != "/" && "$search_dir" != "." ]]; do
|
||||
for file in "${search_dir}/"${^PYTHON_VENV_NAMES[@]}"/bin/activate"(N.); do
|
||||
(( $+functions[deactivate] )) && deactivate > /dev/null 2>&1
|
||||
source $file > /dev/null 2>&1
|
||||
return
|
||||
done
|
||||
search_dir="${search_dir:h}"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
}
|
||||
add-zsh-hook chpwd auto_vrun
|
||||
|
||||
Reference in New Issue
Block a user