set -e
echo "🔧 Running pre-commit checks..."
STAGED_RS_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep '\.rs$' || true)
if [ -n "$STAGED_RS_FILES" ]; then
echo "📝 Running cargo fmt..."
cargo fmt --all
for file in $STAGED_RS_FILES; do
[ -f "$file" ] && git add "$file"
done
echo "📎 Running cargo clippy --fix..."
cargo clippy --fix --allow-dirty --allow-staged --all-targets 2>&1 || true
for file in $STAGED_RS_FILES; do
[ -f "$file" ] && git add "$file"
done
fi
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
exec "$SCRIPT_DIR/check"