# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
exclude: ^(/3rdparty/perfparser|/3rdparty/PrefixTickLabels/)
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
  rev: v4.3.0
  hooks:
  - id: trailing-whitespace
    exclude: (tests/modeltests/disassembly/)
    args: ["--markdown-linebreak-ext=md,markdown"]
  - id: end-of-file-fixer
  - id: check-added-large-files
    args: ['--maxkb=1000']
  - id: check-case-conflict
  - id: check-yaml
    args: [--allow-multiple-documents]
  - id: check-json
- repo: https://github.com/pre-commit/mirrors-clang-format
  rev: v18.1.8
  hooks:
  - id: clang-format
    files: (\.cpp|\.h|\.c)
- repo: https://github.com/PyCQA/pylint
  rev: v3.1.0
  hooks:
  - id: pylint
    args: ["--disable=C0103,C0301,C0114,R0801,E0401"]
    exclude: (\.cmake-format\.py)
- repo: https://github.com/pre-commit/mirrors-autopep8
  rev: v1.7.0
  hooks:
  - id: autopep8
- repo: https://github.com/cheshirekow/cmake-format-precommit
  rev: v0.6.13
  hooks:
  - id: cmake-lint
    exclude: (cmake/ECMEnableSanitizers\.cmake|cmake/Find|3rdparty/perfparser|3rdparty/PrefixTickLabels|\.h\.cmake$)
  - id: cmake-format
    exclude: (cmake/ECMEnableSanitizers\.cmake|cmake/Find|3rdparty/perfparser|3rdparty/PrefixTickLabels|\.h\.cmake$)
- repo: https://github.com/markdownlint/markdownlint
  rev: v0.11.0
  hooks:
  - id: markdownlint
    entry: mdl
    language: ruby
    files: \.(md|mdown|markdown)$
    exclude: CHANGELOG.md
- repo: https://github.com/compilerla/conventional-pre-commit
  rev: v3.2.0
  hooks:
  - id: conventional-pre-commit
    stages: [commit-msg]
    args: []
