# cSpell:ignore autofix autoupdate # Excluded: verbatim GPL license and auxiliary shell scripts with intentional # in-string formatting (reformatting would corrupt their output). exclude: | (?x)^( LICENSE\.md| benchmark/| docker/reprex/ ) # The `^local/patches/.*\.patch$` excludes below keep unified diffs byte-exact: # a context line for a blank line is a single space, and stripping it (or # appending a newline) makes `git apply` reject the patch, which surfaces as # "patch did not apply cleanly" at build time rather than as a lint failure # here. The exclusions are per-hook, not global, so `validate patch registry` # still runs when a patch changes. repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v6.0.0 hooks: - id: end-of-file-fixer exclude: ^local/patches/.*\.patch$ - id: trailing-whitespace exclude: ^local/patches/.*\.patch$ args: - --markdown-linebreak-ext=md - repo: https://github.com/DavidAnson/markdownlint-cli2 rev: v0.23.2 hooks: - id: markdownlint-cli2 - repo: https://github.com/rbubley/mirrors-prettier rev: v3.9.6 hooks: - id: prettier - repo: https://github.com/posit-dev/air-pre-commit rev: 0.11.0 hooks: - id: air-format - repo: https://github.com/editorconfig-checker/editorconfig-checker rev: v3.11.2 hooks: - id: editorconfig-checker exclude: ^local/patches/.*\.patch$ - repo: https://github.com/adrienverge/yamllint.git rev: v1.38.0 hooks: - id: yamllint args: [--strict, -c=.yamllint.yaml] - repo: local hooks: - id: yaml-file-extension name: Check if YAML files has *.yaml extension. entry: YAML filenames must have .yaml extension. language: fail files: .yml$ - id: validate-patches name: validate patch registry entry: Rscript local/validate-patches.R language: system files: ^local/(patches/|validate-patches\.R$) pass_filenames: false