# This file must be used with "source bin/activate" *from bash*
# you cannot run it directly

deactivate () {
    # reset old environment variables
    if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
        PATH="${_OLD_VIRTUAL_PATH:-}"
        export PATH
        unset _OLD_VIRTUAL_PATH
    fi
    if [ -n "${_OLD_VIRTUAL_CARGO_HOME:-}" ] ; then
        CARGO_HOME="${_OLD_VIRTUAL_CARGO_HOME:-}"
        export CARGO_HOME
        unset _OLD_VIRTUAL_CARGO_HOME
    fi
    if [ -n "${_OLD_VIRTUAL_RUSTUP_HOME:-}" ] ; then
        RUSTUP_HOME="${_OLD_VIRTUAL_RUSTUP_HOME:-}"
        export RUSTUP_HOME
        unset _OLD_VIRTUAL_RUSTUP_HOME
    fi

    # This should detect bash and zsh, which have a hash command that must
    # be called to get it to forget past commands.  Without forgetting
    # past commands the $PATH changes we made may not be respected
    if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
        hash -r
    fi

    if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
        PS1="${_OLD_VIRTUAL_PS1:-}"
        export PS1
        unset _OLD_VIRTUAL_PS1
    fi

    unset VIRTUAL_ENV
    if [ ! "${1:-}" = "nondestructive" ] ; then
    # Self destruct!
        unset -f deactivate
    fi
}

# unset irrelevant variables
deactivate nondestructive

VIRTUAL_ENV=%{VENV_DIRECTORY}%
export VIRTUAL_ENV

_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/bin:$PATH"
PATH="$VIRTUAL_ENV/.cargo/bin:$PATH"
export PATH

_OLD_VIRTUAL_CARGO_HOME="${CARGO_HOME:-}"
export CARGO_HOME=%{VENV_DIRECTORY}%/.cargo

_OLD_VIRTUAL_RUSTUP_HOME="${RUSTUP_HOME:-}"
export RUSTUP_HOME=%{VENV_DIRECTORY}%/.rustup

if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
    _OLD_VIRTUAL_PS1="${PS1:-}"
    if [ "x(pyenv) " != x ] ; then
	PS1="(pyenv) ${PS1:-}"
    else
    if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
        # special case for Aspen magic directories
        # see http://www.zetadev.com/software/aspen/
        PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
    else
        PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
    fi
    fi
    export PS1
fi

# This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands.  Without forgetting
# past commands the $PATH changes we made may not be respected
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
    hash -r
fi
