# -*-shell-script-*-

_guild_env="$1"
if [ -z "$_guild_env" ]; then
    if [ -e "bin/activate" ]; then
        _guild_env=.
    elif [ -e "venv/bin/activate" ]; then
        _guild_env=./venv
    elif [ -e "env/bin/activate" ]; then
        _guild_env=./env
    else
        echo "guild-env: cannot find a Guild environment in the current directory"
        echo "Try 'source guild-env PATH'."
        return 1
    fi
fi

if [ ! -e "$_guild_env" ]; then
    echo "guild-env: Guild environment $_guild_env does not exist"
    return 1
fi

if [ ! -e "$_guild_env/bin/activate" -a -e "$_guild_env/venv" ]; then
    _guild_env="$_guild_env/venv"
fi

if [ -e "$_guild_env/bin/activate" ]; then
    . "$_guild_env/bin/activate"
    if [ -z "$QUIET" ]; then
        clear 2> /dev/null || true
        echo "$VIRTUAL_ENV is active."
        echo
        echo "To deactivate the environment, run:"
        echo
        echo "  deactivate"
        echo
        echo "Common commands:"
        echo
        echo "  guild check   Check the environment"
        echo "  guild ops     List available operations"
        echo "  guild runs    List runs"
        echo "  guild run     Run an operation"
        echo "  guild --help  Show Guild help"
        echo
    fi
else
    echo "guild-env: cannot find a Guild environment in $_guild_env"
    return 1
fi
