#!/usr/bin/env bash root="$(git rev-parse --show-toplevel)" # get the list of changed files staged_files="$(git status --porcelain | sed -rn "s/^[^ ][ ] (.*)/\1/p")" 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 if "${root}/bin/php-cs-fixer" -q fix "${staged}" then git add "${staged}" # execute git add directly fi fi done echo "Running php-doc-checker" if echo "${staged_files}" | grep -F ".php"; then "${root}/bin/php-doc-check" src plugins components fi # Only commit if there wasn't an error exit $?