#!/bin/sh
set -e

BASE_URL="https://draft-lang.slothspaced.co.zw"
INSTALL_DIR="$HOME/.draft/bin"
DOWNLOAD_URL="$BASE_URL/downloads/linux/draft"
TARGET_PATH="$INSTALL_DIR/draft"

echo "Installing Draft..."

if ! command -v curl >/dev/null 2>&1; then
    echo "Error: curl is required."
    exit 1
fi

mkdir -p "$INSTALL_DIR"

echo "Downloading Draft..."
curl -fL "$DOWNLOAD_URL" -o "$TARGET_PATH"

chmod +x "$TARGET_PATH"

SHELL_NAME="$(basename "${SHELL:-sh}")"

case "$SHELL_NAME" in
    zsh)
        PROFILE_FILE="$HOME/.zshrc"
        ;;
    bash)
        PROFILE_FILE="$HOME/.bashrc"
        ;;
    *)
        PROFILE_FILE="$HOME/.profile"
        ;;
esac

PATH_LINE='export PATH="$PATH:$HOME/.draft/bin"'

if ! echo "$PATH" | tr ':' '\n' | grep -Fx "$INSTALL_DIR" >/dev/null 2>&1; then
    [ -f "$PROFILE_FILE" ] || touch "$PROFILE_FILE"

    if ! grep -Fqx "$PATH_LINE" "$PROFILE_FILE" 2>/dev/null; then
        printf '\n# Draft Programming Language\n%s\n' "$PATH_LINE" >> "$PROFILE_FILE"
    fi

    export PATH="$PATH:$INSTALL_DIR"
fi

echo ""
echo "Draft installed successfully."

if command -v draft >/dev/null 2>&1; then
    draft --version 2>/dev/null || true
else
    echo "Restart your terminal or run:"
    echo "  source $PROFILE_FILE"
    echo ""
    echo "Then:"
    echo "  draft --version"
fi
