exclude: |
    (?x)^(
      tests/data/|
      opencompass/models/internal/|
      opencompass/utils/internal/|
      opencompass/openicl/icl_evaluator/hf_metrics/|
      opencompass/datasets/lawbench/utils|
      opencompass/datasets/lawbench/evaluation_functions/|
      opencompass/datasets/medbench/|
      opencompass/datasets/teval/|
      opencompass/datasets/NPHardEval/|
      opencompass/datasets/TheoremQA|
      docs/zh_cn/advanced_guides/compassbench_intro.md |
      docs/zh_cn/advanced_guides/compassbench_v2_0.md |
      opencompass/configs/datasets/ |
      opencompass/configs/models/|
      opencompass/configs/summarizers/|
      opencompass/configs/dataset_collections/ |
      opencompass/utils/datasets.py |
      opencompass/utils/datasets_info.py
    )
repos:
  - repo: https://gitee.com/openmmlab/mirrors-flake8
    rev: 5.0.4
    hooks:
      - id: flake8
        exclude: |
            (?x)^(
                configs/ |
                example_scripts/
            )
  - repo: https://gitee.com/openmmlab/mirrors-isort
    rev: 5.11.5
    hooks:
      - id: isort
        exclude: |
            (?x)^(
                configs/ |
                example_scripts/
            )
  - repo: https://gitee.com/openmmlab/mirrors-yapf
    rev: v0.32.0
    hooks:
      - id: yapf
        exclude: |
            (?x)^(
                configs/ |
                example_scripts/
            )
  - repo: https://gitee.com/openmmlab/mirrors-codespell
    rev: v2.2.1
    hooks:
      - id: codespell
        exclude: |
            (?x)^(
                .*\.jsonl|
                .*\.md.template|
                configs/ |
                opencompass/configs/ |
                example_scripts/
            )
  - repo: https://gitee.com/openmmlab/mirrors-pre-commit-hooks
    rev: v4.3.0
    hooks:
      - id: trailing-whitespace
        exclude: |
            (?x)^(
              dicts/|
              projects/.*?/dicts/|
              configs/.*?/.*\.txt
            )
      - id: check-yaml
      - id: end-of-file-fixer
        exclude: |
            (?x)^(
              dicts/|
              projects/.*?/dicts/|
              configs/.*?/.*\.txt
            )
      - id: requirements-txt-fixer
      - id: double-quote-string-fixer
      - id: check-merge-conflict
      - id: fix-encoding-pragma
        args: ["--remove"]
      - id: mixed-line-ending
        args: ["--fix=lf"]
  - repo: https://gitee.com/openmmlab/mirrors-mdformat
    rev: 0.7.9
    hooks:
      - id: mdformat
        args: ["--number", "--table-width", "200"]
        additional_dependencies:
          - mdformat-openmmlab
          - mdformat_frontmatter
          - linkify-it-py
        exclude: configs/
  - repo: https://gitee.com/openmmlab/mirrors-docformatter
    rev: v1.3.1
    hooks:
      - id: docformatter
        args: ["--in-place", "--wrap-descriptions", "79"]
  - repo: local
    hooks:
    -   id: update-dataset-suffix
        name: dataset suffix updater
        entry: ./tools/update_dataset_suffix.py
        language: script
        pass_filenames: true
        require_serial: true
        files: ^configs/datasets
  - repo: local
    hooks:
    -   id: update-dataset-suffix-pacakge
        name: dataset suffix updater(package)
        entry: ./tools/update_dataset_suffix.py
        language: script
        pass_filenames: false
        # require_serial: true
        # files: ^opencompass/configs/datasets
        args:
          - --root_folder
          - opencompass/configs/datasets
  - repo: local
    hooks:
    -   id: compare-configs-datasets
        name: compare configs datasets
        entry: ./tools/compare_configs.py
        language: script
        pass_filenames: false
        # require_serial: true
        args:
          - configs/datasets
          - opencompass/configs/datasets
  - repo: local
    hooks:
    -   id: compare-configs-models
        name: compare configs models
        entry: ./tools/compare_configs.py
        language: script
        pass_filenames: false
        # require_serial: true
        args:
          - configs/models
          - opencompass/configs/models
          - --ignore
          - llama
  - repo: local
    hooks:
    -   id: compare-configs-summarizers
        name: compare configs summarizers
        entry: ./tools/compare_configs.py
        language: script
        pass_filenames: false
        # require_serial: true
        args:
          - configs/summarizers
          - opencompass/configs/summarizers
  # - repo: https://github.com/open-mmlab/pre-commit-hooks
  #   rev: v0.2.0  # Use the ref you want to point at
  #   hooks:
  #     - id: check-algo-readme
      # - id: check-copyright
      #   args: ["mmocr", "tests", "tools"]  # these directories will be checked
