#hook #cargo-toml #execute #commit #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

#28 in #reads

Download history 4/week @ 2024-02-05 13/week @ 2024-02-19 132/week @ 2024-02-26 55/week @ 2024-03-04 31/week @ 2024-03-11 17/week @ 2024-03-18 18/week @ 2024-03-25 82/week @ 2024-04-01 35/week @ 2024-04-08 50/week @ 2024-04-15 79/week @ 2024-04-22

250 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

~53KB