summaryrefslogtreecommitdiff
path: root/.pre-commit-config.yaml
blob: cfa776a6670c75408782407cb1c6df68fc1ad011 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Local hooks run on commit: clang-format for staged C/C++ in soh/ (using a
# pinned 14.x downloaded by pre-commit), the whitespace and JSON asset lints. Scopes
# match run-clang-format.sh / scripts/lint-json.py and 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)$'
  - repo: local
    hooks:
      - id: lint-json
        name: lint JSON assets
        entry: scripts/lint-json.sh --fix
        language: system
        files: '^soh/assets/custom/.*\.json$'
        pass_filenames: false
      - id: whitespace
        name: check staged C/C++ for tabs and trailing whitespace
        entry: scripts/check-whitespace.sh
        language: system
        files: '^soh/.*\.(c|cpp|h|hpp)$'
        exclude: '^soh/include/'
        pass_filenames: false