#!/usr/bin/env bash

set -euo pipefail

usage() {
  cat <<'EOF'
Usage: brew check <formula> [...]

Run a strict online audit with autofix enabled.

Example:
  brew check bun
  brew check chenrui333/tap/bun
EOF
}

normalize_formula_arg() {
  local tap="chenrui333/tap"
  local arg="$1"

  if [[ "$arg" == *.rb || "$arg" == */* ]]; then
    printf '%s\n' "$arg"
    return 0
  fi

  printf '%s\n' "${tap}/${arg}"
}

if [[ $# -eq 0 ]]; then
  usage
  exit 1
fi

case "${1:-}" in
  -h|--help)
    usage
    exit 0
    ;;
esac

args=()
for arg in "$@"; do
  args+=("$(normalize_formula_arg "$arg")")
done

HOMEBREW_NO_AUTO_UPDATE=1 brew audit --strict --git --online --fix "${args[@]}"
