#!/usr/bin/env bash
# =============================================================================
# Script: 02_Modern_CLI_Aliases_Setup.sh
# Description: Modern CLI zsh alias setup
# Version: 1.0
# =============================================================================
set -euo pipefail

ALIAS_FILE="${HOME}/.config/modern-cli/aliases.zsh"
RC_FILE="${HOME}/.zshrc"

mkdir -p "$(dirname "${ALIAS_FILE}")"
touch "${RC_FILE}"

cat > "${ALIAS_FILE}" << 'EOF'
# =============================================================================
# Modern CLI aliases for zsh
# =============================================================================

export PATH="$HOME/.local/bin:$PATH"

alias batp='bat --plain --paging=never'

alias ls='eza --group-directories-first'
alias ll='eza -l --group-directories-first --header'
alias la='eza -la --group-directories-first --header'
alias lt='eza -T --group-directories-first'
EOF

if ! grep -qF "${ALIAS_FILE}" "${RC_FILE}" 2>/dev/null; then
    printf '\n[ -f "%s" ] && source "%s"\n' "${ALIAS_FILE}" "${ALIAS_FILE}" >> "${RC_FILE}"
fi

echo "Modern CLI aliases have been configured."
echo "Alias file: ${ALIAS_FILE}"
echo "Run this to apply immediately:"
echo "source ${RC_FILE}"
