aboutsummaryrefslogtreecommitdiffstats
path: root/hooks
diff options
context:
space:
mode:
Diffstat (limited to 'hooks')
-rwxr-xr-xhooks/pre-commit27
1 files changed, 5 insertions, 22 deletions
diff --git a/hooks/pre-commit b/hooks/pre-commit
index 5e10aa19..9247f8a8 100755
--- a/hooks/pre-commit
+++ b/hooks/pre-commit
@@ -1,25 +1,8 @@
-#!/bin/bash
-if clang-format --version | grep -q 'version 11\.'; then
- CLANG_FORMAT_EXECUTABLE="clang-format"
-else
- CLANG_FORMAT_EXECUTABLE="clang-format-11"
-fi
+#!/bin/sh
-if ! command -v $CLANG_FORMAT_EXECUTABLE &> /dev/null
-then
- echo $CLANG_FORMAT_EXECUTABLE does not exist, make sure to install it
- exit 1
-fi
+changedFiles="$(git clang-format --extensions cpp,h --style file --staged -q --diffstat -- ':!src/FreeRTOS' ':!src/libs')"
+git clang-format --extensions cpp,h --style file --staged -q -- ':!src/FreeRTOS' ':!src/libs'
-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
+echo "$changedFiles" | head -n -1 | cut -d ' ' -f 1 | while read -r file; do
+ git add -- "$file"
done