# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks

ci:
    autoupdate_schedule: monthly

exclude: ^(cmake/ECM/|cmake/KDAB/)
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
  rev: v4.5.0
  hooks:
  - id: trailing-whitespace
  - id: end-of-file-fixer
  - id: check-added-large-files
  - id: check-case-conflict
  - id: check-yaml
    args: [--allow-multiple-documents]
  - id: check-json
  - id: check-symlinks
  - id: destroyed-symlinks
  - id: check-executables-have-shebangs
- repo: https://github.com/pre-commit/mirrors-clang-format
  rev: v17.0.6
  hooks:
  - id: clang-format
- repo: https://github.com/PyCQA/pylint
  rev: v3.0.3
  hooks:
  - id: pylint
    exclude: ^(.cmake-format.py|conan/conanfile.py|scripts/genignore.py)
- repo: https://github.com/hhatto/autopep8
  rev: v2.0.4
  hooks:
  - id: autopep8
    exclude: ^(.cmake-format.py|conan/conanfile.py)
- repo: https://github.com/codespell-project/codespell
  rev: v2.2.6
  hooks:
  - id: codespell
- repo: https://github.com/cheshirekow/cmake-format-precommit
  rev: v0.6.13
  hooks:
  - id: cmake-lint
    exclude: (.py.cmake|Doxyfile.cmake)
  - id: cmake-format
    exclude: (.py.cmake|Doxyfile.cmake)
- repo: https://github.com/markdownlint/markdownlint
  rev: v0.12.0
  hooks:
  - id: markdownlint
    entry: mdl
    language: ruby
    files: \.(md|mdown|markdown)$
- repo: https://github.com/fsfe/reuse-tool
  rev: v2.1.0
  hooks:
  - id: reuse
