repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.6.0
    hooks:
      - id: mixed-line-ending
        exclude_types: [svg]
      - id: check-added-large-files
      - id: check-docstring-first
      - id: check-yaml
      - id: end-of-file-fixer
        exclude_types: [svg]
      - id: trailing-whitespace
        exclude_types: [svg]
      - id: check-toml

  - repo: https://github.com/crate-ci/typos
    rev: v1.22.9
    hooks:
      - id: typos

  - repo: https://github.com/psf/black
    rev: 24.4.2
    hooks:
      - id: black

  - repo: https://github.com/pycqa/isort
    rev: 5.13.2
    hooks:
      - id: isort
        name: isort (python)

  - repo: https://github.com/Carreau/velin
    rev: 0.0.11
    hooks:
      - id: velin

  - repo: https://github.com/charliermarsh/ruff-pre-commit
    # Ruff version.
    rev: "v0.5.0"
    hooks:
      - id: ruff

  - repo: https://github.com/adamchainz/blacken-docs
    rev: 1.18.0
    hooks:
      - id: blacken-docs

  - repo: https://github.com/asottile/pyupgrade
    rev: v3.16.0
    hooks:
      - id: pyupgrade
        args: [--py38-plus]

  - repo: https://github.com/pre-commit/mirrors-prettier
    rev: v4.0.0-alpha.8
    hooks:
      - id: prettier
        files: \.(html|md|yml|yaml|toml)
        args: [--prose-wrap=preserve]
        additional_dependencies:
          - prettier@2.7.1
          - prettier-plugin-toml@0.3.1