Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Oh My Zsh
Commits
c1f1f91d
Commit
c1f1f91d
authored
Jun 29, 2015
by
Andrew Janke
Browse files
virtualenvwrapper: Replace "realpath" with portable zsh-native `:A` and `:h` modifiers
parent
599831b8
Changes
1
Show whitespace changes
Inline
Side-by-side
plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh
View file @
c1f1f91d
...
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment