#!/usr/bin/env bash

rename-dotenv() {
    if [[ -z "$1" ]]; then
        echo "\$1/env is empty."
        return 1
    fi
    if [[ -z "$2" ]]; then
        echo "\$2/env is empty."
        return 1
    fi
    TASK_DOTENV_DIR=${TASK_DOTENV_DIR:="$HOME/.config/taskfile.build"}

    local source_name="$1"
    local target_name="$2"
    local source_env=""

    if [[ -f "$TASK_DOTENV_DIR/$source_name.env" ]]; then
        source_env="$TASK_DOTENV_DIR/$source_name.env"
    elif [[ -f "$PWD/$source_name.env" ]]; then
        source_env="$PWD/$source_name.env"
    elif [[ -f "$TASK_DOTENV_DIR/.env.$source_name" ]]; then
        source_env="$TASK_DOTENV_DIR/.env.$source_name"
    fi

    if [[ -z "$source_env" ]]; then
        echo "Source env '$source_name' not found."
        return 1
    fi

    local target_env
    if [[ "$source_env" == "$PWD"/* ]]; then
        target_env="$PWD/$target_name.env"
    else
        target_env="$TASK_DOTENV_DIR/$target_name.env"
    fi

    echo "Rename $source_env to $target_env."
    mv "$source_env" "$target_env"
}
red() {
    rename-dotenv "$@"
}
