mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-19 04:10:09 +00:00
Merge pull request #4106 from apjanke/venvw-no-realpath
virtualenvwrapper: Remove `realpath` dependency using zsh `:A`
This commit is contained in:
commit
c968346e17
1 changed files with 5 additions and 4 deletions
|
@ -30,16 +30,17 @@ if [[ "$WORKON_HOME" == "" ]]; then
|
|||
fi
|
||||
|
||||
if [[ ! $DISABLE_VENV_CD -eq 1 ]]; then
|
||||
# Automatically activate Git projects's virtual environments based on the
|
||||
# Automatically activate Git projects' virtual environments based on the
|
||||
# directory name of the project. Virtual environment name can be overridden
|
||||
# by placing a .venv file in the project root with a virtualenv name in it
|
||||
function workon_cwd {
|
||||
if [ ! $WORKON_CWD ]; then
|
||||
WORKON_CWD=1
|
||||
# Check if this is a Git repo
|
||||
PROJECT_ROOT=`pwd`
|
||||
# Get absolute path, resolving symlinks
|
||||
PROJECT_ROOT="${PWD:A}"
|
||||
while [[ "$PROJECT_ROOT" != "/" && ! -e "$PROJECT_ROOT/.venv" ]]; do
|
||||
PROJECT_ROOT=`realpath $PROJECT_ROOT/..`
|
||||
PROJECT_ROOT="${PROJECT_ROOT:h}"
|
||||
done
|
||||
if [[ "$PROJECT_ROOT" == "/" ]]; then
|
||||
PROJECT_ROOT="."
|
||||
|
@ -50,7 +51,7 @@ if [[ ! $DISABLE_VENV_CD -eq 1 ]]; then
|
|||
elif [[ -f "$PROJECT_ROOT/.venv/bin/activate" ]];then
|
||||
ENV_NAME="$PROJECT_ROOT/.venv"
|
||||
elif [[ "$PROJECT_ROOT" != "." ]]; then
|
||||
ENV_NAME=`basename "$PROJECT_ROOT"`
|
||||
ENV_NAME="${PROJECT_ROOT:t}"
|
||||
else
|
||||
ENV_NAME=""
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue