25 lines
637 B
Plaintext
25 lines
637 B
Plaintext
|
#!/usr/bin/env bash
|
||
|
|
||
|
# get the list of changed files
|
||
|
staged_files=$(git diff --cached --name-only)
|
||
|
|
||
|
# build command to fix files
|
||
|
cmd="$(git rev-parse --show-toplevel)/vendor/bin/php-cs-fixer"
|
||
|
|
||
|
echo "Running php-cs-fixer on edited files"
|
||
|
|
||
|
for staged in ${staged_files}; do
|
||
|
# work only with existing files
|
||
|
if [[ -f ${staged} && ${staged} == *.php ]]; then
|
||
|
# use php-cs-fixer and get flag of correction
|
||
|
"${cmd}" -q fix "${staged}"
|
||
|
|
||
|
# if php-cs-fixer fix works, it returns 0
|
||
|
if [[ $? -eq 0 ]]; then
|
||
|
git add "${staged}" # execute git add directly
|
||
|
fi
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
exit 0 # do commit
|