Просмотр исходного кода

fish: use "set -gx" instead of "setenv" (#218)

Use `set -gx` instead of `setenv` for fish shell.

Fix test "activate if the first virtualenv is a virtualenv": it was asserting
the output was of bash form, but not specifying that in the test — it now does.

Fixes https://github.com/pyenv/pyenv-virtualenv/issues/216.
pull/220/head
Drummond Ogilvie 7 лет назад
committed by Daniel Hahler
Родитель
Сommit
862be21a32
8 измененных файлов: 42 добавлений и 42 удалений
  1. +6
    -6
      bin/pyenv-sh-activate
  2. +2
    -2
      bin/pyenv-sh-deactivate
  3. +2
    -2
      bin/pyenv-virtualenv-init
  4. +15
    -15
      test/activate.bats
  5. +3
    -3
      test/conda-activate.bats
  6. +2
    -2
      test/conda-deactivate.bats
  7. +10
    -10
      test/deactivate.bats
  8. +2
    -2
      test/init.bats

+ 6
- 6
bin/pyenv-sh-activate Просмотреть файл

@ -146,8 +146,8 @@ if [ -z "$no_shell" ]; then
case "$shell" in
fish )
cat <<EOS
setenv PYENV_VERSION "${versions[*]}";
setenv PYENV_ACTIVATE_SHELL 1;
set -gx PYENV_VERSION "${versions[*]}";
set -gx PYENV_ACTIVATE_SHELL 1;
EOS
;;
* )
@ -164,8 +164,8 @@ fi
case "${shell}" in
fish )
cat <<EOS
setenv PYENV_VIRTUAL_ENV "${prefix}";
setenv VIRTUAL_ENV "${prefix}";
set -gx PYENV_VIRTUAL_ENV "${prefix}";
set -gx VIRTUAL_ENV "${prefix}";
EOS
;;
* )
@ -185,7 +185,7 @@ if [ -x "${prefix}/bin/conda" ]; then
fi
case "${shell}" in
fish )
echo "setenv CONDA_DEFAULT_ENV \"${CONDA_DEFAULT_ENV}\";"
echo "set -gx CONDA_DEFAULT_ENV \"${CONDA_DEFAULT_ENV}\";"
;;
* )
echo "export CONDA_DEFAULT_ENV=\"${CONDA_DEFAULT_ENV}\";"
@ -197,7 +197,7 @@ if [ -n "${PYTHONHOME}" ]; then
case "${shell}" in
fish )
cat <<EOS
setenv _OLD_VIRTUAL_PYTHONHOME "${PYTHONHOME}";
set -gx _OLD_VIRTUAL_PYTHONHOME "${PYTHONHOME}";
set -e PYTHONHOME;
EOS
;;

+ 2
- 2
bin/pyenv-sh-deactivate Просмотреть файл

@ -125,7 +125,7 @@ case "${shell}" in
fish )
cat <<EOS
if [ -n "\$_OLD_VIRTUAL_PATH" ];
setenv PATH "\$_OLD_VIRTUAL_PATH";
set -gx PATH "\$_OLD_VIRTUAL_PATH";
set -e _OLD_VIRTUAL_PATH;
end;
EOS
@ -144,7 +144,7 @@ case "${shell}" in
fish )
cat <<EOS
if [ -n "\$_OLD_VIRTUAL_PYTHONHOME" ];
setenv PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
set -gx PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
set -e _OLD_VIRTUAL_PYTHONHOME;
end;
EOS

+ 2
- 2
bin/pyenv-virtualenv-init Просмотреть файл

@ -86,8 +86,8 @@ fi
case "$shell" in
fish )
cat <<EOS
setenv PATH '${PYENV_VIRTUALENV_ROOT:-${PYENV_VIRTUALENV_INSTALL_PREFIX}}/shims' \$PATH;
setenv PYENV_VIRTUALENV_INIT 1;
set -gx PATH '${PYENV_VIRTUALENV_ROOT:-${PYENV_VIRTUALENV_INSTALL_PREFIX}}/shims' \$PATH;
set -gx PYENV_VIRTUALENV_INIT 1;
EOS
;;
* )

+ 15
- 15
test/activate.bats Просмотреть файл

@ -138,8 +138,8 @@ EOS
assert_success
assert_output <<EOS
deactivated
setenv PYENV_VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
set -gx PYENV_VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
set -gx VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
pyenv-virtualenv: prompt changing not working for fish.
EOS
@ -162,10 +162,10 @@ EOS
assert_success
assert_output <<EOS
deactivated
setenv PYENV_VERSION "venv";
setenv PYENV_ACTIVATE_SHELL 1;
setenv PYENV_VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
set -gx PYENV_VERSION "venv";
set -gx PYENV_ACTIVATE_SHELL 1;
set -gx PYENV_VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
set -gx VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
pyenv-virtualenv: prompt changing not working for fish.
EOS
@ -239,10 +239,10 @@ EOS
assert_success
assert_output <<EOS
deactivated
setenv PYENV_VERSION "venv27";
setenv PYENV_ACTIVATE_SHELL 1;
setenv PYENV_VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
set -gx PYENV_VERSION "venv27";
set -gx PYENV_ACTIVATE_SHELL 1;
set -gx PYENV_VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
set -gx VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
pyenv-virtualenv: prompt changing not working for fish.
EOS
@ -263,10 +263,10 @@ EOS
assert_success
assert_output <<EOS
deactivated
setenv PYENV_VERSION "venv27";
setenv PYENV_ACTIVATE_SHELL 1;
setenv PYENV_VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
set -gx PYENV_VERSION "venv27";
set -gx PYENV_ACTIVATE_SHELL 1;
set -gx PYENV_VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
set -gx VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
pyenv-virtualenv: prompt changing not working for fish.
EOS
@ -381,7 +381,7 @@ EOS
stub pyenv-virtualenv-prefix "2.7.10 : false"
stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
run pyenv-sh-activate "venv27" "2.7.10"
PYENV_SHELL="bash" run pyenv-sh-activate "venv27" "2.7.10"
assert_success
assert_output <<EOS

+ 3
- 3
test/conda-activate.bats Просмотреть файл

@ -62,9 +62,9 @@ EOS
assert_success
assert_output <<EOS
deactivated
setenv PYENV_VIRTUAL_ENV "${TMP}/pyenv/versions/anaconda-2.3.0";
setenv VIRTUAL_ENV "${TMP}/pyenv/versions/anaconda-2.3.0";
setenv CONDA_DEFAULT_ENV "root";
set -gx PYENV_VIRTUAL_ENV "${TMP}/pyenv/versions/anaconda-2.3.0";
set -gx VIRTUAL_ENV "${TMP}/pyenv/versions/anaconda-2.3.0";
set -gx CONDA_DEFAULT_ENV "root";
pyenv-virtualenv: prompt changing not working for fish.
EOS

+ 2
- 2
test/conda-deactivate.bats Просмотреть файл

@ -69,11 +69,11 @@ set -e PYENV_VIRTUAL_ENV;
set -e VIRTUAL_ENV;
set -e CONDA_DEFAULT_ENV;
if [ -n "\$_OLD_VIRTUAL_PATH" ];
setenv PATH "\$_OLD_VIRTUAL_PATH";
set -gx PATH "\$_OLD_VIRTUAL_PATH";
set -e _OLD_VIRTUAL_PATH;
end;
if [ -n "\$_OLD_VIRTUAL_PYTHONHOME" ];
setenv PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
set -gx PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
set -e _OLD_VIRTUAL_PYTHONHOME;
end;
if functions -q deactivate;

+ 10
- 10
test/deactivate.bats Просмотреть файл

@ -247,11 +247,11 @@ EOS
set -e PYENV_VIRTUAL_ENV;
set -e VIRTUAL_ENV;
if [ -n "\$_OLD_VIRTUAL_PATH" ];
setenv PATH "\$_OLD_VIRTUAL_PATH";
set -gx PATH "\$_OLD_VIRTUAL_PATH";
set -e _OLD_VIRTUAL_PATH;
end;
if [ -n "\$_OLD_VIRTUAL_PYTHONHOME" ];
setenv PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
set -gx PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
set -e _OLD_VIRTUAL_PYTHONHOME;
end;
if functions -q deactivate;
@ -273,11 +273,11 @@ EOS
set -e PYENV_VIRTUAL_ENV;
set -e VIRTUAL_ENV;
if [ -n "\$_OLD_VIRTUAL_PATH" ];
setenv PATH "\$_OLD_VIRTUAL_PATH";
set -gx PATH "\$_OLD_VIRTUAL_PATH";
set -e _OLD_VIRTUAL_PATH;
end;
if [ -n "\$_OLD_VIRTUAL_PYTHONHOME" ];
setenv PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
set -gx PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
set -e _OLD_VIRTUAL_PYTHONHOME;
end;
if functions -q deactivate;
@ -301,11 +301,11 @@ set -e PYENV_ACTIVATE_SHELL;
set -e PYENV_VIRTUAL_ENV;
set -e VIRTUAL_ENV;
if [ -n "\$_OLD_VIRTUAL_PATH" ];
setenv PATH "\$_OLD_VIRTUAL_PATH";
set -gx PATH "\$_OLD_VIRTUAL_PATH";
set -e _OLD_VIRTUAL_PATH;
end;
if [ -n "\$_OLD_VIRTUAL_PYTHONHOME" ];
setenv PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
set -gx PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
set -e _OLD_VIRTUAL_PYTHONHOME;
end;
if functions -q deactivate;
@ -329,11 +329,11 @@ set -e PYENV_ACTIVATE_SHELL;
set -e PYENV_VIRTUAL_ENV;
set -e VIRTUAL_ENV;
if [ -n "\$_OLD_VIRTUAL_PATH" ];
setenv PATH "\$_OLD_VIRTUAL_PATH";
set -gx PATH "\$_OLD_VIRTUAL_PATH";
set -e _OLD_VIRTUAL_PATH;
end;
if [ -n "\$_OLD_VIRTUAL_PYTHONHOME" ];
setenv PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
set -gx PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
set -e _OLD_VIRTUAL_PYTHONHOME;
end;
if functions -q deactivate;
@ -355,11 +355,11 @@ EOS
set -e PYENV_VIRTUAL_ENV;
set -e VIRTUAL_ENV;
if [ -n "\$_OLD_VIRTUAL_PATH" ];
setenv PATH "\$_OLD_VIRTUAL_PATH";
set -gx PATH "\$_OLD_VIRTUAL_PATH";
set -e _OLD_VIRTUAL_PATH;
end;
if [ -n "\$_OLD_VIRTUAL_PYTHONHOME" ];
setenv PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
set -gx PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
set -e _OLD_VIRTUAL_PYTHONHOME;
end;
if functions -q deactivate;

+ 2
- 2
test/init.bats Просмотреть файл

@ -72,8 +72,8 @@ EOS
run pyenv-virtualenv-init - fish
assert_success
assert_output <<EOS
setenv PATH '${TMP}/pyenv/plugins/pyenv-virtualenv/shims' \$PATH;
setenv PYENV_VIRTUALENV_INIT 1;
set -gx PATH '${TMP}/pyenv/plugins/pyenv-virtualenv/shims' \$PATH;
set -gx PYENV_VIRTUALENV_INIT 1;
function _pyenv_virtualenv_hook --on-event fish_prompt;
set -l ret \$status
if [ -n "\$VIRTUAL_ENV" ]

Загрузка…
Отмена
Сохранить