# vim:ff=unix ts=2 sw=2 ai expandtab
---
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v2.4.0
    hooks:
      - id: check-added-large-files
      - id: check-executables-have-shebangs
      - id: check-merge-conflict
      - id: check-symlinks
      - id: detect-private-key
      - id: trailing-whitespace
      - id: requirements-txt-fixer
  - repo: https://www.shore.co.il/git/shell-pre-commit/
    rev: v0.6.0
    hooks:
      - id: shell-lint
        exclude: &excluded_shellscripts |-
          \.bash_completion\.d/(docker-machine\.bash|fabric-completion.bash|docker-compose)|\.travis/travis\.sh
      - id: shellcheck
        exclude: *excluded_shellscripts
      - id: shell-lint
        name: shell-lint .bashrc
        files: \.bashrc
        types: [text]
      - id: shellcheck
        name: Shellcheck .bashrc
        files: \.bashrc
        types: [text]
  - repo: https://github.com/adrienverge/yamllint
    rev: v1.19.0
    hooks:
      - id: yamllint
  - repo: https://github.com/amperser/proselint/
    rev: 0.10.2
    hooks:
      - id: proselint
        types: [plain-text]
        exclude: LICENSE
  - repo: https://github.com/ambv/black
    rev: 19.10b0
    hooks:
      - id: black
        exclude: &excluded_pythonscripts pythonrc.py|rabbitmqadmin
        args:
          - |
              --line-length=79
  - repo: https://github.com/PyCQA/prospector
    rev: 1.1.7
    hooks:
      - id: prospector
        exclude: *excluded_pythonscripts
        args:
          - |-
              --max-line-length=79
          - |-
              --tool=pyroma
          - |-
              --tool=dodgy
        additional_dependencies:
          - pyroma
          - dodgy
  - repo: https://gitlab.com/pycqa/flake8
    rev: 3.7.9
    hooks:
      - id: flake8
        exclude: *excluded_pythonscripts
        args:
          - |-
            --max-line-length=79
        additional_dependencies:
          - flake8-bugbear
  - repo: https://github.com/pre-commit/mirrors-pylint
    rev: v2.4.4
    hooks:
      - id: pylint
        exclude: *excluded_pythonscripts
        args:
          - |-
            --disable=R0801
  - repo: https://github.com/PyCQA/bandit
    rev: 1.6.2
    hooks:
      - id: bandit
        exclude: *excluded_pythonscripts
  - repo: https://github.com/Yelp/detect-secrets
    rev: v0.13.0
    hooks:
      - id: detect-secrets
        exclude: rabbitmqadmin
