#!/bin/bash

# script/format: Format code with Ruff formatter
#
# Runs Ruff format and applies formatting changes. Automatically cleans up any
# accidental package installations after running.
#
# Usage:
#   ./scripts/format
#
# Examples:
#   ./scripts/format

set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$SCRIPT_DIR/.."

# shellcheck source=scripts/.lib/output.sh
source "$SCRIPT_DIR/.lib/output.sh"

if [[ -z ${VIRTUAL_ENV:-} ]]; then
    # shellcheck source=/dev/null
    source "$HOME/.venv/bin/activate"
fi

log_header "Running Ruff format"
uv run --active ruff format .

# Clean up any accidental package installation from uv run
"$SCRIPT_DIR/clean" --minimal

log_success "Formatting completed"
