diff --git a/.hooks/install.sh b/.hooks/install.sh new file mode 100755 index 0000000..fb92209 --- /dev/null +++ b/.hooks/install.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +cd `dirname $0`/../.git/hooks/ +ln -s ../../.hooks/pre-commit diff --git a/.hooks/pre-commit b/.hooks/pre-commit new file mode 100755 index 0000000..bd717f1 --- /dev/null +++ b/.hooks/pre-commit @@ -0,0 +1,21 @@ +#!/bin/bash + +CARGO_FMT="cargo +stable fmt --all" + +$CARGO_FMT --version &>/dev/null +if [ $? != 0 ]; then + printf "[pre_commit] \033[0;31merror\033[0m: \"$CARGO_FMT\" not available?\n" + exit 1 +fi + +$CARGO_FMT -- --check +result=$? + +printf "[pre_commit] $CARGO_FMT → " +if [ $result != 0 ]; then + printf "\033[0;31merror\033[0m \n" +else + printf "\033[0;32mOK\033[0m \n" +fi + +exit $result