summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hooks/README.md5
-rwxr-xr-xhooks/pre-commit13
2 files changed, 18 insertions, 0 deletions
diff --git a/hooks/README.md b/hooks/README.md
new file mode 100644
index 00000000..de8fc67b
--- /dev/null
+++ b/hooks/README.md
@@ -0,0 +1,5 @@
+# Git hooks
+
+This directory contains Git hooks that simplify contributing to this repository.
+
+You can install them by copying the files into `.git/hooks` in the repository folder or by running `git config --local core.hooksPath hooks`
diff --git a/hooks/pre-commit b/hooks/pre-commit
new file mode 100755
index 00000000..2e918a17
--- /dev/null
+++ b/hooks/pre-commit
@@ -0,0 +1,13 @@
+#!/bin/bash
+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
+ clang-format-11 -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
+ clang-format-11 -style=file -i -- $FILE
+ git add -- $FILE
+ fi
+done