From 7079cbe979623786bee9985cc8a82ba5893dc325 Mon Sep 17 00:00:00 2001 From: Yamashita Yuu Date: Mon, 30 Jun 2014 21:35:43 +0900 Subject: [PATCH] Fix broken `setenv` in `pyenv-virtualenv-init` --- bin/pyenv-virtualenv-init | 2 +- test/init.bats | 43 ++++++++++++++++++++++++++++++++++++--- 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/bin/pyenv-virtualenv-init b/bin/pyenv-virtualenv-init index ae5b9f1..cdf6f8d 100755 --- a/bin/pyenv-virtualenv-init +++ b/bin/pyenv-virtualenv-init @@ -81,7 +81,7 @@ EOS ;; fish ) cat </dev/null || true + fi +}; +if ! [[ "\$PROMPT_COMMAND" =~ _pyenv_virtualenv_hook ]]; then + PROMPT_COMMAND="_pyenv_virtualenv_hook;\$PROMPT_COMMAND"; +fi +EOS } @test "outputs fish-specific syntax" { run pyenv-virtualenv-init - fish assert_success - assert_output_contains 'function _pyenv_virtualenv_hook --on-event fish_prompt;' + assert_output </dev/null); or true + end +end +EOS } @test "outputs zsh-specific syntax" { run pyenv-virtualenv-init - zsh assert_success - assert_output_contains ' precmd_functions+=_pyenv_virtualenv_hook;' + assert_output </dev/null || true + fi +} +typeset -a precmd_functions +if [[ -z \$precmd_functions[(r)_pyenv_virtualenv_hook] ]]; then + precmd_functions+=_pyenv_virtualenv_hook; +fi +EOS }