37 lines
861 B
Bash
Executable File
37 lines
861 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# shared pre-commit hook to run pint
|
|
# Try several fallbacks so it works on Unix and common Windows setups.
|
|
|
|
# Prefer directly executable vendor binary
|
|
if [ -x "./vendor/bin/pint" ]; then
|
|
./vendor/bin/pint .
|
|
exit $?
|
|
fi
|
|
|
|
# If it's a PHP wrapper script, run with php
|
|
if [ -f "./vendor/bin/pint" ]; then
|
|
php "./vendor/bin/pint" .
|
|
exit $?
|
|
fi
|
|
|
|
# If a Windows batch exists under vendor/bin
|
|
if [ -x "./vendor/bin/pint.bat" ]; then
|
|
./vendor/bin/pint.bat .
|
|
exit $?
|
|
fi
|
|
|
|
if [ -f "./vendor/bin/pint.bat" ]; then
|
|
# Try running with cmd.exe for Windows Git environments
|
|
if command -v cmd.exe >/dev/null 2>&1; then
|
|
cmd.exe /C "vendor\\bin\\pint.bat fix"
|
|
exit $?
|
|
fi
|
|
fi
|
|
|
|
# Nothing to run; do not block the push but inform the user
|
|
echo "pint not found at ./vendor/bin/pint; skipping pre-push formatting."
|
|
exit 0
|
|
|