# 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: v5.0.0
    hooks:
    -   id: check-added-large-files
        name: 🐘 Check for added large files
    -   id: check-toml
        name: ✔️  Check TOML
    -   id: check-yaml
        name: ✔️  Check YAML
        args:
        -   --unsafe
    -   id: end-of-file-fixer
        name: 🪚 Fix end of files
        exclude: id_rsa$
    -   id: trailing-whitespace
        name: ✂️  Trim trailing whitespaces
-   repo: https://github.com/crate-ci/typos
    rev: v1.30.2
    hooks:
    -   id: typos
        name: ✒️  Check typos
        exclude: ^CHANGELOG.md|lib/docs/docs/assets/orcid-widget.js|lib/tests/testsuite/(.*?)$
-   repo: local
    hooks:
      - id: rustfmt
        name: 🦀 Format Rust files
        description: Check if all files follow the rustfmt style
        entry: cargo fmt
        language: system
        pass_filenames: false
      - id: deny
        name: 📜 Check licenses
        entry: cargo deny check licenses
        language: system
        pass_filenames: false
# NOTE: better done from the commandline since we install it already with cargo
# -   repo: https://github.com/EmbarkStudios/cargo-deny
#     rev: 0.18.2
#     hooks:
#     -   id: cargo-deny
#         args: ["--all-features", "check", "licenses"]
ci:
    autofix_commit_msg: 🎨 [pre-commit.ci] Auto format from pre-commit.com hooks
    autoupdate_commit_msg: ⬆ [pre-commit.ci] pre-commit autoupdate
