#!/usr/bin/env bash
#
# cele2e - Zsh Completion Installer

set -e

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'

COMPLETION_FILE="_cele2e"
COMPLETION_DIR="$HOME/.zsh/completions"
ZSHRC="$HOME/.zshrc"

echo -e "${BLUE}🧪  cele2e - Zsh Completion Installer${NC}\n"

if ! command -v zsh &> /dev/null; then
    echo -e "${RED}✗ zsh not found${NC}"; exit 1
fi
echo -e "${GREEN}✓${NC} zsh detected"

if ! command -v cele2e &> /dev/null; then
    echo -e "${RED}✗ cele2e not found in PATH${NC}"
    echo -e "  Run: bun install -g ~/hobby/infra/packages/e2e"; exit 1
fi
echo -e "${GREEN}✓${NC} Found cele2e CLI"

echo -e "${YELLOW}→${NC} Generating completion script..."
GENERATED=$(cele2e completion zsh 2>/dev/null)
if [[ -z "$GENERATED" ]]; then
    echo -e "${RED}✗ Failed to generate completion script${NC}"; exit 1
fi
echo -e "${GREEN}✓${NC} Completion script generated"

mkdir -p "$COMPLETION_DIR"
echo -e "${YELLOW}→${NC} Installing completion script..."
echo "$GENERATED" > "$COMPLETION_DIR/$COMPLETION_FILE"
chmod 644 "$COMPLETION_DIR/$COMPLETION_FILE"
echo -e "${GREEN}✓${NC} Installed to $COMPLETION_DIR/$COMPLETION_FILE"

[[ -f "$ZSHRC" ]] || touch "$ZSHRC"

if grep -q "fpath=.*\.zsh/completions" "$ZSHRC"; then
    echo -e "${GREEN}✓${NC} Completion directory already in fpath"
else
    echo -e "${YELLOW}→${NC} Adding completion directory to .zshrc..."
    if grep -qn "autoload.*compinit" "$ZSHRC"; then
        COMPINIT_LINE=$(grep -n "autoload.*compinit" "$ZSHRC" | head -1 | cut -d: -f1)
        sed -i '' "${COMPINIT_LINE}i\\
# cele2e completions\\
fpath=(~/.zsh/completions \$fpath)\\

" "$ZSHRC"
    else
        echo -e "\n# cele2e completions\nfpath=(~/.zsh/completions \$fpath)\nautoload -Uz compinit && compinit" >> "$ZSHRC"
    fi
    echo -e "${GREEN}✓${NC} fpath configured"
fi

if ! grep -q "autoload.*compinit" "$ZSHRC"; then
    echo "autoload -Uz compinit && compinit" >> "$ZSHRC"
fi

echo -e "${YELLOW}→${NC} Clearing completion cache..."
rm -rf "$HOME"/.zcompdump*
echo -e "${GREEN}✓${NC} Cache cleared"

echo ""
echo -e "${GREEN}✅ Installation complete!${NC}"
echo ""
echo "To activate:"
echo -e "  ${BLUE}exec zsh${NC}"
echo ""
echo "Try it out:"
echo -e "  ${BLUE}cele2e <TAB>${NC}"
echo -e "  ${BLUE}cele2e run <TAB>${NC}"
