repos:
  - repo: https://github.com/pre-commit/mirrors-clang-format
    rev: v16.0.6
    hooks:
      - id: clang-format
        args: [-fallback-style=none]
        types_or: [c++, c]
        exclude: |
            (?x)^(
                deps/.*|
                tests/catch\.hpp|
                .*\.mm
            )$

  - repo: https://github.com/cheshirekow/cmake-format-precommit
    rev: v0.6.13
    hooks:
      - id: cmake-format

  - repo: https://github.com/astral-sh/ruff-pre-commit
    rev: v0.3.2
    hooks:
      - id: ruff-format
        types_or: [python]