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 }