repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.5.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
        exclude: >
          (?x)(
            tests/renderers/httpdomain/rendered
          )
      - id: check-docstring-first
      - id: check-json
      - id: check-yaml
      - id: debug-statements

  - repo: https://github.com/psf/black
    rev: 23.10.0
    hooks:
      - id: black
        args: [--line-length=88, --target-version=py35]
        exclude: >
          (?x)(
            # black defaults
              \.eggs
            | \.git\
            | \.hg
            | \.mypy_cache
            | \.nox
            | \.tox
            | \.venv
            | _build
            | buck-out
            | build
            | dist

            # sphinxcontrib-openapi
            | sphinxcontrib/openapi/__init__.py
            | sphinxcontrib/openapi/__main__.py
            | sphinxcontrib/openapi/openapi20.py
            | sphinxcontrib/openapi/openapi30.py
            | sphinxcontrib/openapi/directive.py
            | sphinxcontrib/openapi/utils.py
            | tests/test_openapi.py
            | tests/conftest.py
            | tests/test_spec_examples.py
          )

  - repo: https://github.com/pycqa/flake8
    rev: 6.1.0
    hooks:
      - id: flake8
