summaryrefslogtreecommitdiff
path: root/hooks/pre-commit
blob: 5e10aa19a1dd9e208ab9942817e5c320007b4138 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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