#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

#18 in #pre-commit

Download history 33/week @ 2024-07-22 54/week @ 2024-07-29 53/week @ 2024-08-05 18/week @ 2024-08-12 23/week @ 2024-08-19 24/week @ 2024-08-26 25/week @ 2024-09-02 13/week @ 2024-09-09 35/week @ 2024-09-16 55/week @ 2024-09-23 28/week @ 2024-09-30 42/week @ 2024-10-07 48/week @ 2024-10-14 31/week @ 2024-10-21 84/week @ 2024-11-04

165 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

~52KB