2025-05-10 21:58:58 +08:00

33 lines
940 B
Bash
Executable File

#!/bin/sh
echo "[git-hook]: before commit, format code use astyle ..."
ASTYLE_PARAMETERS="--style=linux \
--indent=spaces=4 \
--indent-labels \
--min-conditional-indent=0 \
--max-instatement-indent=80 \
--pad-oper \
--pad-header \
--keep-one-line-blocks \
--keep-one-line-statements \
--convert-tabs\
--suffix=none"
if ! astyle --version 2>/dev/null; then
echo "astyle is missing, please install it: sudo apt-get install astyle"
exit 1
fi
format_file=$(find . -type f | grep -E "\.c$|\.h$")
astyle --quiet $ASTYLE_PARAMETERS $format_file
if git status -s | grep -q "^ M "; then
echo "[git-hook]: code changed after formating, please commit again."
git status
echo "if you have completed all file formatting but there are still files in the workspace "
echo "use --no-verify to skip hook"
exit 1
fi
echo "[git-hook]: nothing change after formating, commit continues."