mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-01-23 02:35:38 +01: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:
parent
ec14da72fb
commit
d7dd980970
2 changed files with 15 additions and 1 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue