summaryrefslogtreecommitdiff
path: root/hooks/pre-commit
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2021-09-02 18:35:56 (GMT)
committerGitea <gitea@fake.local>2021-09-02 18:35:56 (GMT)
commit6c3d6fb2575888e582e7ef3004a0bc3bf6c588b6 (patch)
treeac396c060b423dd98fd915e742c14fc457a6f6d9 /hooks/pre-commit
parentdb6a701644116932f11c54ee0f619464de9faeb7 (diff)
parent6f9f0e8b0e42a5526d47ca664534fb6b0ccb6ace (diff)
Merge branch 'develop' of JF/PineTime into master
Diffstat (limited to 'hooks/pre-commit')
-rwxr-xr-xhooks/pre-commit25
1 files changed, 25 insertions, 0 deletions
diff --git a/hooks/pre-commit b/hooks/pre-commit
new file mode 100755
index 0000000..5e10aa1
--- /dev/null
+++ b/hooks/pre-commit
@@ -0,0 +1,25 @@
+#!/bin/bash
+if clang-format --version | grep -q 'version 11\.'; then
+ CLANG_FORMAT_EXECUTABLE="clang-format"
+else
+ CLANG_FORMAT_EXECUTABLE="clang-format-11"
+fi
+
+if ! command -v $CLANG_FORMAT_EXECUTABLE &> /dev/null
+then
+ echo $CLANG_FORMAT_EXECUTABLE does not exist, make sure to install it
+ exit 1
+fi
+
+for FILE in $(git diff --cached --name-only)
+do
+ if [[ "$FILE" =~ src/[A-Za-z0-9\ \-]+*\.(c|h|cpp|cc)$ ]]; then
+ echo Autoformatting $FILE with $CLANG_FORMAT_EXECUTABLE
+ $CLANG_FORMAT_EXECUTABLE -style=file -i -- $FILE
+ git add -- $FILE
+ elif [[ "$FILE" =~ src/(components|displayapp|drivers|heartratetask|logging|systemtask)/.*\.(c|h|cpp|cc)$ ]]; then
+ echo Autoformatting $FILE with $CLANG_FORMAT_EXECUTABLE
+ $CLANG_FORMAT_EXECUTABLE -style=file -i -- $FILE
+ git add -- $FILE
+ fi
+done