pioneer/autoformat

23 lines
684 B
Bash
Executable File

#!/bin/bash
./scripts/clang-format.sh "$@"
# Run clang-format, storing the output in MSG
# Git runs hooks in the base directory, so we don't need to do any fancy dirname stuff.
# $? will be non-zero if clang-format detected formatting issues.
format_ok=$?
if ((format_ok == 1)); then
# We've had a major malfunction!
read -p "Do you want to automatically apply these changes (y/N)?" apply
case $apply in
y|Y)
# Get the patch info from the message and apply it to the staged changes.
PATCH_MODE=1 ./scripts/clang-format.sh "$@" | git apply --index -
;;
*) exit 1;;
esac
else
# All good, carry on.
exit $format_ok
fi