derive-deftly 1.3.0

An ergonomic way to write derive() macros
Documentation
#!/bin/bash
#
# Run rustfmt on all the files.  This script is needed because cargo
# fmt doesn't do the ones in tests/* (that are tested via trybuild and
# macrotest), because those aren't visible to cargo in the usual way.
#
# Any arguments are passed through to *both* "cargo fmt" and "rustfmt"

set -euo pipefail

# CARGO='nailing-cargo -E' maint/rustfmt

case "${CARGO-}" in
*nailing-cargo*)	NAILING_CARGO=${CARGO} ;;
*)			NAILING_CARGO= ;;
esac

${CARGO-cargo} fmt "$@"

# *.expanded.rs is managed by macrotest and mustn't be reformatted
# (the grep is because git-ls-files -x doesn't do what you'd think it would -
# it only applies if the file is untracked.)
git ls-files tests/{ui,expand}/'*.rs' |
    grep -v '\.expanded\.rs$' |
    xargs \
	${NAILING_CARGO} ${NAILING_CARGO:+---} \
	rustfmt "$@"