diff --git a/pre-commit.d/black.sh b/pre-commit.d/black.sh new file mode 100644 index 0000000..50acaf5 --- /dev/null +++ b/pre-commit.d/black.sh @@ -0,0 +1,16 @@ +#!/bin/bash +FILES=$(git diff --cached --name-only --diff-filter=ACM "*.py" | sed 's| |\\ |g') + +LINE_LENGTH=90 + +if [ ! -z "$FILES" ]; then + # Format all selected files + echo "$FILES" | xargs $HOME/.local/bin/black -l $LINE_LENGTH + + if [ $? -ne 0 ]; then + exit 1 + fi + + # Add back the modified files to staging + echo "$FILES" | xargs git add +fi