repos:
  - repo: https://github.com/python/black
    rev: 23.1.0
    hooks:
      - id: black
        args: ["--line-length", "120"]
  - repo: https://github.com/pycqa/flake8
    rev: 6.0.0
    hooks:
      - id: flake8
        additional_dependencies: [flake8-simplify, flake8-return]
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0
    hooks:
      - id: trailing-whitespace
      - id: check-symlinks
      - id: destroyed-symlinks
      - id: check-yaml
      - id: check-merge-conflict
      - id: check-case-conflict
      - id: check-executables-have-shebangs
      - id: check-toml
      - id: end-of-file-fixer
      - id: check-shebang-scripts-are-executable
      - id: detect-private-key
      - id: debug-statements
  - repo: https://github.com/pycqa/isort
    rev: 5.12.0
    hooks:
      - id: isort
        name: isort (python)
        args: ["--profile", "black", "--filter-files"]
  - repo: https://github.com/asottile/pyupgrade
    rev: v3.3.1
    hooks:
      - id: pyupgrade
        args: ["--py37-plus"]
  # FIXME: Figure out why this is getting stuck under VPN.
  # - repo: https://github.com/RobertCraigie/pyright-python
  #   rev: v1.1.296
  #   hooks:
  #   - id: pyright
  # Note: We disable this by default since not all code is compatible with it.
  # - repo: https://github.com/Lucas-C/pre-commit-hooks
  #   rev: v1.4.2
  #   hooks:
  #     - id: insert-license
  #       files: \.py$
  #       args:
  #         # - --remove-header    # Remove existing license headers. Useful when updating license.
  #         - --license-filepath
  #         - .github/LICENSE_HEADER.txt
