# Define hooks for code formations
# Will be applied on any updated commit files if a user has installed and linked commit hook

default_language_version:
  python: python3.8

# Define bot property if installed via https://github.com/marketplace/pre-commit-ci
ci:
  autofix_prs: true
  autoupdate_commit_msg: '[pre-commit.ci] pre-commit suggestions'
  autoupdate_schedule: quarterly
  # submodules: true

repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.0.1
    hooks:
      - id: end-of-file-fixer
      - id: trailing-whitespace
      - id: check-case-conflict
      - id: check-yaml
      - id: check-toml
      - id: pretty-format-json
      - id: check-docstring-first

  - repo: https://github.com/asottile/pyupgrade
    rev: v2.23.1
    hooks:
      - id: pyupgrade
        args: [--py36-plus]
        name: Upgrade code

  - repo: https://github.com/PyCQA/isort
    rev: 5.9.3
    hooks:
      - id: isort
        name: Sort imports

  # TODO
  #- repo: https://github.com/pre-commit/mirrors-yapf
  #  rev: v0.31.0
  #  hooks:
  #    - id: yapf
  #      name: formatting

  # TODO
  #- repo: https://github.com/executablebooks/mdformat
  #  rev: 0.7.7
  #  hooks:
  #    - id: mdformat
  #      additional_dependencies:
  #        - mdformat-gfm
  #        - mdformat-black
  #        - mdformat_frontmatter

  # TODO
  #- repo: https://github.com/asottile/yesqa
  #  rev: v1.2.3
  #  hooks:
  #    - id: yesqa

  - repo: https://github.com/PyCQA/flake8
    rev: 3.9.2
    hooks:
      - id: flake8
        name: PEP8
