fix warns for virtualenv-init corner case on fish

The situation is when in a directory containing python binary,
`pyenv prefix' will return empty (caused by `pyenv which' returning
"./python"). This change adds quotes for `test', otherwise `test' will
warn about missing argument.
This commit is contained in:
Tony Wang
2015-01-05 23:23:43 +08:00
parent 9d71e67401
commit 240a1de6e5
2 changed files with 6 additions and 6 deletions

View File

@@ -76,12 +76,12 @@ fish )
cat <<EOS
function _pyenv_virtualenv_hook --on-event fish_prompt;
if [ -n "\$PYENV_ACTIVATE" ]
if [ (pyenv version-name 2>/dev/null; or true) = "system" ]
if [ "(pyenv version-name 2>/dev/null; or true)" = "system" ]
pyenv deactivate --no-error --verbose
set -e PYENV_DEACTIVATE
return 0
end
if [ "\$PYENV_ACTIVATE" != (pyenv prefix 2>/dev/null; or true) ]
if [ "\$PYENV_ACTIVATE" != "(pyenv prefix 2>/dev/null; or true)" ]
if pyenv deactivate --no-error --verbose
set -e PYENV_DEACTIVATE
pyenv activate --no-error --verbose; or set -e PYENV_DEACTIVATE
@@ -90,7 +90,7 @@ function _pyenv_virtualenv_hook --on-event fish_prompt;
end
end
else
if [ -z "\$VIRTUAL_ENV" ]; and [ "\$PYENV_DEACTIVATE" != (pyenv prefix 2>/dev/null; or true) ]
if [ -z "\$VIRTUAL_ENV" ]; and [ "\$PYENV_DEACTIVATE" != "(pyenv prefix 2>/dev/null; or true)" ]
pyenv activate --no-error --verbose
end
end

View File

@@ -64,12 +64,12 @@ EOS
setenv PYENV_VIRTUALENV_INIT 1;
function _pyenv_virtualenv_hook --on-event fish_prompt;
if [ -n "\$PYENV_ACTIVATE" ]
if [ (pyenv version-name 2>/dev/null; or true) = "system" ]
if [ "(pyenv version-name 2>/dev/null; or true)" = "system" ]
pyenv deactivate --no-error --verbose
set -e PYENV_DEACTIVATE
return 0
end
if [ "\$PYENV_ACTIVATE" != (pyenv prefix 2>/dev/null; or true) ]
if [ "\$PYENV_ACTIVATE" != "(pyenv prefix 2>/dev/null; or true)" ]
if pyenv deactivate --no-error --verbose
set -e PYENV_DEACTIVATE
pyenv activate --no-error --verbose; or set -e PYENV_DEACTIVATE
@@ -78,7 +78,7 @@ function _pyenv_virtualenv_hook --on-event fish_prompt;
end
end
else
if [ -z "\$VIRTUAL_ENV" ]; and [ "\$PYENV_DEACTIVATE" != (pyenv prefix 2>/dev/null; or true) ]
if [ -z "\$VIRTUAL_ENV" ]; and [ "\$PYENV_DEACTIVATE" != "(pyenv prefix 2>/dev/null; or true)" ]
pyenv activate --no-error --verbose
end
end