| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | #!/usr/bin/env bash
# Checks
# - rustfmt
# config
FOLDER="hw*"
FILES='.+\.(rs)'
# Exit script on the first error
set -o errexit -o nounset
ERROR=0
# cross platform compatible find
function find_files() {
  if [[ "$OSTYPE" == "linux-gnu" ]]; then
    find . -regextype posix-extended -path "./$FOLDER" -iregex $FILES -print0
  elif [[ "$OSTYPE" == "darwin"* ]]; then
    find -E . -path "./$FOLDER" -iregex $FILES -print0
  fi
}
### rustfmt ===================================
echo ""
echo "=== Searching for files with rustfmt warnings ========================"
FOUND=0
while IFS= read -r -d '' f; do
  rustfmt --write-mode=diff "$f" || FOUND=1
done < <(find_files)
if [ $FOUND -eq 0 ] ; then
  echo "=== None found! :-)"
else
  echo ""
  echo "!!! Some files with rust format warninge were found."
  echo "!!! Please correct format in these files by running rustfmt!"
  ERROR=1
fi
test $ERROR == 0
 |