Recent distros and Homebrew ship only newer clang-format, so contributors
can't easily get the version CI uses (14, matching the OoT/MM decomp).
- docs/FORMATTING.md: how to get a 14.x binary (apt, AUR, muttleyxd static
binaries, uvx/pipx wheel, brew) and how to run the formatter.
- run-clang-format.sh: default to clang-format-14 but honor $CLANG_FORMAT so
any matching binary works. Any 14.x produces byte-identical output here.
- .pre-commit-config.yaml: opt-in hook to format staged C/C++ on commit.
- README: link the new doc.
The llvm@14 formula is available on Linux too, so filing it under a
macOS-only heading was too narrow.
* Support spaced paths in CLANG_FORMAT; document run-clang-format.ps1
eval the clang-format invocation so CLANG_FORMAT can carry arguments
(uvx clang-format@14) or a quoted path with spaces without one breaking
the other. The NUL-separated file list reaches xargs over the pipe, so
filenames never pass through eval.
Document the native Windows run-clang-format.ps1 path alongside the Git
Bash/WSL route.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>