mirror of
https://github.com/HarbourMasters/Shipwright
synced 2026-06-19 16:00:27 -04:00
d912fd2c01
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>
11 lines
465 B
YAML
11 lines
465 B
YAML
# Local clang-format hook: formats staged C/C++ in soh/ on commit, using a
|
|
# pinned 14.x downloaded by pre-commit. Scope matches run-clang-format.sh / CI.
|
|
# pre-commit install --install-hooks # enable (downloads clang-format up front)
|
|
repos:
|
|
- repo: https://github.com/pre-commit/mirrors-clang-format
|
|
rev: v14.0.6
|
|
hooks:
|
|
- id: clang-format
|
|
files: '^soh/.*\.(c|cpp|h|hpp)$'
|
|
exclude: '^soh/assets/|^soh/(src|include)/.*\.(h|hpp)$'
|