home | blog | art | now | git gpg | email | rss

githooks

Personal git hooks
git clone git://pollux.codes/git/githooks.git
Log | Files | Refs | README
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:
Ac/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