#!/usr/bin/env bash

SCRIPTDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPTDIR}/.validate"

IFS=$'\n'
files=($(validate_diff --diff-filter=ACMR --name-only -- 'MAINTAINERS' || true))
unset IFS

badFiles=()
for f in "${files[@]}"; do
	# we use "git show" here to validate that what's committed has valid TOML syntax
	if ! git show "$VALIDATE_HEAD:$f" | tomll /proc/self/fd/0; then
		badFiles+=("$f")
	fi
done

if [ ${#badFiles[@]} -eq 0 ]; then
	echo 'Congratulations!  All TOML source files changed here have valid syntax.'
else
	{
		echo "These files are not valid TOML:"
		for f in "${badFiles[@]}"; do
			echo " - $f"
		done
		echo
		echo 'Please reformat the above files as valid TOML'
		echo
	} >&2
	false
fi
