diff --git a/.hooks/pre-commit/clang-format.sh b/.hooks/pre-commit/clang-format.sh new file mode 100644 index 0000000..435c308 --- /dev/null +++ b/.hooks/pre-commit/clang-format.sh @@ -0,0 +1,7 @@ +#!/bin/bash +if ! hash clang-format 2>/dev/null; then + echo "'clang-format' must be installed in a global environment." + exit 1 +fi + +find ./source -type f -name "*.h" -or -name "*.hpp" -or -name "*.c" -or -name "*.cpp" -exec clang-format -i '{}' \; diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..4f84f37 --- /dev/null +++ b/install.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +readarray -t hooks < <(find .hooks/ -maxdepth 1 -type d -not -wholename .hooks/ -print0) +for v in "${hooks[@]}"; do + hookname=`basename $v` + echo "#!/bin/bash" > .git/hooks/${hookname} + echo "find .hooks/${hookname}/ -type f -name '*.sh' -exec '{}' \;" >> .git/hooks/${hookname} +done