diff --git a/AStyle.dll b/AStyle.dll new file mode 100644 index 0000000..6ef2091 Binary files /dev/null and b/AStyle.dll differ diff --git a/AStyleWhore.exe b/AStyleWhore.exe new file mode 100644 index 0000000..53c3b9e Binary files /dev/null and b/AStyleWhore.exe differ diff --git a/hooks/pre-commit b/hooks/pre-commit new file mode 100644 index 0000000..637f3ba --- /dev/null +++ b/hooks/pre-commit @@ -0,0 +1,33 @@ +#!/bin/sh +# +# Simple script to auto-format every source file before committing. +# + +#check if the formatter is present +if [ ! -f ./AStyleWhore.exe ]; then + echo "AStyleWhore not found!" + exit 0 +fi + +#format the code +"./AStyleWhore.exe" Silent + +#exit when nothing needs to be done +if [ $? == 0 ]; then + exit 0 +fi + +#stage the formatted files (when staged in this commit) +gitFiles=$(git diff-index --name-only --cached HEAD) +if [[ -n "${gitFiles}" ]]; then + for fname in $gitFiles; do + git add --all -- "${fname}" + done +fi + +#cancel commit if the changes were undone by the formatting +gitFiles=$(git diff-index --name-only --cached HEAD) +if [ -z "$gitFiles" ]; then + "./AStyleWhore.exe" "After formatting, no files were staged..." + exit 1 +fi diff --git a/install.bat b/install.bat new file mode 100644 index 0000000..0ef4263 --- /dev/null +++ b/install.bat @@ -0,0 +1,3 @@ +@echo off +echo Run this to install the auto-format hook. +copy hooks\pre-commit .git\hooks\pre-commit \ No newline at end of file