commit 4a528dbd87730649a52ee211f606ea068bd44eb3 parent a81bab7e6dbadf97b74ee04262d527b7d33c142f Author: Pollux <pollux@pollux.codes> Date: Sun, 9 Feb 2025 22:56:25 -0600 feat(c): add c format pre-commit hook Signed-off-by: Pollux <pollux@pollux.codes> Diffstat:
A | c/pre-commit | | | 45 | +++++++++++++++++++++++++++++++++++++++++++++ |
1 file changed, 45 insertions(+), 0 deletions(-)
diff --git a/c/pre-commit b/c/pre-commit @@ -0,0 +1,45 @@ +#!/bin/sh + +PARAMS="--align-with-spaces \ + --blank-lines-after-declarations \ + --blank-lines-after-procedures \ + --blank-lines-before-block-comments \ + --brace-indent 0 \ + --braces-on-if-line \ + --braces-on-func-def-line \ + --braces-on-struct-decl-line \ + --break-before-boolean-operator \ + --case-indentation 0 \ + --continue-at-parentheses \ + --cuddle-else \ + --declaration-indentation 16 \ + --ignore-newlines \ + --indent-label -1 \ + --indent-level 8 \ + --line-length 80 \ + --no-blank-lines-after-commas \ + --no-space-after-casts \ + --no-space-after-for \ + --no-space-after-function-call-names \ + --no-space-after-if \ + --no-space-after-while \ + --preprocessor-indentation 2 \ + --swallow-optional-blank-lines \ + --use-tabs" + +code=0 + +for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR | grep "\.c$"` ; do + tmpfile=`mktemp /tmp/XXXXXX` || exit 1 + cp $file $tmpfile + VERSION_CONTROL=none indent $PARAMS $file 2>> /dev/null + diff -u -p $tmpfile $file 2>> /dev/null + res=$? + rm $newfile + if [ $res != 0 ] ; then + echo "Code style error in $file" + code=1 + fi +done + +exit $code