#hook #cargo-toml #pre-commit #execute #metadata #read #workspace

pre-commit-hooks

Reads hooks metadata from Cargo.toml and executes on commit. Works with workspace format.

1 unstable release

Uses old Rust 2015

0.3.0 Jun 5, 2023
0.2.0 May 3, 2023
0.1.1 Apr 30, 2023
0.1.0 Apr 30, 2023

#24 in #pre-commit

Download history 16/week @ 2024-11-23 126/week @ 2024-11-30 97/week @ 2024-12-07 156/week @ 2024-12-14 23/week @ 2024-12-21 47/week @ 2024-12-28 141/week @ 2025-01-04 111/week @ 2025-01-11 77/week @ 2025-01-18 135/week @ 2025-01-25 341/week @ 2025-02-01 143/week @ 2025-02-08 118/week @ 2025-02-15 85/week @ 2025-02-22 91/week @ 2025-03-01 74/week @ 2025-03-08

374 downloads per month

MIT license

7KB
121 lines

pre-commit-hooks

Reads hooks metadata from Cargo.toml and executes on commit. A forked from unmaintained pre-commit.

Installing

[dependencies]
pre-commit-hooks = "0.3"

For a workspace-based setup, one only need to add it in one of the package dependency, usually the main package (if any). This is because the pre-commit applies to the whole project.

Usage

Add a table like the following to your root Cargo.toml:

[package.metadata.precommit]
fmt = "cargo fmt"
sort = "cargo sort"

Or, if you're ussing workspace:

[workspace.metadata.precommit]
fmt = "cargo fmt"
sort = "cargo sort -w"

Then run:

$ cargo clean
$ cargo build

You should now have a pre-commit file in your ./git/hooks that will run the listed pre-commit entries.

Credit

The find_crate_root function is refactored with the help of emilgardis.

No runtime deps

~51KB