# 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-json - id: check-toml - id: pretty-format-json - id: check-added-large-files - id: check-case-conflict - id: check-executables-have-shebangs - id: check-merge-conflict - id: detect-private-key - repo: https://github.com/hackaugusto/pre-commit-cargo rev: v1.0.0 hooks: # Allows cargo fmt to modify the source code prior to the commit - id: cargo name: Cargo fmt args: ["+stable", "fmt", "--all"] stages: [commit] # Requires code to be properly formatted prior to pushing upstream - id: cargo name: Cargo fmt --check args: ["+stable", "fmt", "--all", "--check"] stages: [push, manual] - id: cargo name: Cargo check --all-targets args: ["+stable", "check", "--all-targets"] - id: cargo name: Cargo check --all-targets --no-default-features args: ["+stable", "check", "--all-targets", "--no-default-features"] - id: cargo name: Cargo check --all-targets --all-features args: ["+stable", "check", "--all-targets", "--all-features"] # Unlike fmt, clippy will not be automatically applied - id: cargo name: Cargo clippy args: ["+nightly", "clippy", "--workspace", "--", "--deny", "clippy::all", "--deny", "warnings"]