#!/bin/bash

# Takes a list of files and applies style fixes for Python using `ruff` and C using
# `clang-format`. Also corrects spelling using `codespell`. This tool is an auxiliary to the
# `pre-commit` hooks found in:
#   `.pre-commit-config.yaml`
#
# WARNING: Changes are destructive. Ensure a clean working environment before running.
#
# By: @sangbida

for file in "$@"; do
    case "$file" in
        *.py)  ruff check --fix "$file"; ruff format "$file" ;;
        *.c|*.h)  clang-format -i "$file" 2>/dev/null ;;
    esac
    codespell -w "$file" 2>/dev/null
done
