1
0
mirror of https://github.com/CLIUtils/CLI11.git synced 2025-04-30 04:33:53 +00:00
CLI11/scripts/clang-format-pre-commit
Henry Fredrick Schreiner b17f7ce63a Adding a test for coverage
2018-04-12 08:34:22 +02:00

35 lines
743 B
Bash
Executable File

#!/usr/bin/env bash
# To use:
# ln -s scripts/clang-format.hook .git/hooks/pre-commit
# Based loosely on https://github.com/andrewseidl/githook-clang-format
format_file() {
file="${1}"
case "$file" in
*.hpp | *.cpp | .c | *.cc | *.cu | *.h )
clang-format -i -style=file -sort-includes "${1}"
if git diff-files --quiet -- "${1}" ; then
echo "Already formatted: ${1}"
else
git add "${1}"
echo "Reformatting file: ${1}"
fi;
;;
*)
;;
esac
}
case "${1}" in
--about )
echo "Runs clang-format on source files"
;;
* )
for file in `git diff-index --cached --name-only HEAD` ; do
format_file "${file}"
done
;;
esac