#!/usr/bin/env bash set -e script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P) cd "${script_path}/.." || exit 1 if [ "$#" -eq "0" ]; then files=() while IFS= read -r file; do files+=("$file") done < <( git ls-files '*.swift' ) else files=() for file in "$@"; do if [[ "${file}" == *".swift" ]] ; then files+=("${file}") fi done fi if (( ${#files[@]} )); then if ! command -v swift-format >/dev/null 2>&1 ; then echo "swift-format is not available, but Swift files need linting! Either skip this script, or install swift-format." exit 1 fi swift-format -i "${files[@]}" echo "Maybe some files have changed. Sorry, but swift-format doesn't indicate what happened." else echo "No .swift files to check." fi