#!/bin/sh # script/fmt-check: check formatting (read-only). Same scope as # script/fmt, but fails instead of writing. gofmt and prettier both run # every time and each reports its own failure, so the output says which # one failed. set -eu ROOT="$(cd "$(dirname "$0")/.." && pwd -P)" main() { cd "$ROOT" status=0 files="$(gofmt -s -l .)" if [ -n "$files" ]; then echo "gofmt: files not formatted:" >&2 echo "$files" >&2 status=1 fi image="$(docker build -q --target prettier .)" if ! docker run --rm -v "$ROOT:/src:ro" "$image" \ prettier --check '**/*.md' --tab-width 4 --prose-wrap always; then echo "prettier: Markdown not formatted; run make fmt" >&2 status=1 fi exit "$status" } main "$@"