---

# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v3.2.0
    hooks:
    -   id: trailing-whitespace
    -   id: end-of-file-fixer
    -   id: check-yaml
    -   id: check-added-large-files
-   repo: https://github.com/psf/black
    rev: 22.10.0
    hooks:
    -   id: black
-   repo: https://github.com/koalaman/shellcheck-precommit
    rev: v0.10.0
    hooks:
    -   id: shellcheck
-   repo: https://github.com/adrienverge/yamllint.git
    rev: v1.35.1
    hooks:
    -   id: yamllint

# -------------------------------------------------------------------
# https://docs.python.org/3/library/re.html#regular-expression-syntax
# -------------------------------------------------------------------
exclude: |
    (?x)^(
        ^jjb/.*             |
        ^jenkins-scripts/.* |
        ^makefiles/.*       |
        ^lf/.*              |
        ^lf-ansible/.*      |
        ^packer/.*          |
        ^test/.*            |
        ^.venv/.*           |
        ^jjb/pipeline/voltha/voltha-physical-soak-dt-tests.groovy
    )$


# -----------------------------------------------------------------------
# declare -a args=()
# args+=('--color=always')
#
# if true; then
#    args+=('--all-files')
# else
#    args+=('--files' 'jjb/pipeline/voltha/voltha-physical-soak-dt-tests.groovy')
# fi
#
# freeze
# args+=('--bleeding-edge')
# args+=('--freeze')
#
# args+=('--show-diff-on-failure')
#
# pre-commit run "${args[@]}"  &1 | tee log
# -----------------------------------------------------------------------
    
# [EOF]
