ci:
  autoupdate_commit_msg: "chore(deps): pre-commit.ci autoupdate"
  autofix_commit_msg: "style: pre-commit.ci fixes"
  skip:
    - docker-clang-format


repos:
- repo: https://github.com/psf/black
  rev: 21.9b0
  hooks:
  - id: black

- repo: https://github.com/pre-commit/pre-commit-hooks
  rev: v4.0.1
  hooks:
  - id: check-added-large-files
  - id: check-case-conflict
  - id: check-merge-conflict
  - id: check-symlinks
  - id: check-yaml
  - id: end-of-file-fixer
  - id: mixed-line-ending
  - id: trailing-whitespace

- repo: local
  hooks:
  - id: docker-clang-format
    name: Docker Clang Format
    language: docker_image
    types:
    - c++
    entry: unibeautify/clang-format:latest
    args:
    - -style=file
    - -i

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

- repo: https://github.com/markdownlint/markdownlint
  rev: v0.11.0
  hooks:
  - id: markdownlint
    args: ["--style=scripts/mdlint_style.rb"]

- repo: local
  hooks:
  - id: remarklint
    name: remarklint
    language: node
    entry: remark
    types: [markdown]
    args: ["--frail", "--quiet"]
    additional_dependencies: [remark, remark-lint, remark-cli, remark-preset-lint-recommended, remark-lint-list-item-indent, remark-lint-no-undefined-references]

- repo: local
  hooks:
  - id: disallow-caps
    name: Disallow improper capitalization
    language: pygrep
    entry: PyBind|Numpy|Cmake|CCache|PyTest|Github
    exclude: .pre-commit-config.yaml

- repo: https://github.com/codespell-project/codespell
  rev: v2.1.0
  hooks:
  - id: codespell
    args: ["-L", "atleast,ans,doub,inout"]
