~starkingdoms/starkingdoms

b10ecbab771d3069ee23b6731c84a93f1ba40563 — core 2 years ago f6e1fcb
add rustfmt pre-commit hook
1 files changed, 23 insertions(+), 0 deletions(-)

A .git-hooks/pre-commit
A .git-hooks/pre-commit => .git-hooks/pre-commit +23 -0
@@ 0,0 1,23 @@
#!/bin/bash

HAS_ISSUES=0
FIRST_FILE=1

for file in $(git diff --name-only --staged); do
    FMT_RESULT="$(rustfmt --skip-children --force --write-mode diff $file 2>/dev/null || true)"
    if [ "$FMT_RESULT" != "" ]; then
        if [ $FIRST_FILE -eq 0 ]; then
            echo -n ", "
        fi
        echo -n "$file"
        HAS_ISSUES=1
        FIRST_FILE=0
    fi
done

if [ $HAS_ISSUES -eq 0 ]; then
    exit 0
fi

echo ". Your code has formatting issues in files listed above. Format each file with `rustfmt path_to_file.rs`"
exit 1