7 releases
0.1.5 | Feb 13, 2022 |
---|---|
0.1.4 | Apr 21, 2021 |
0.1.1 | Dec 29, 2020 |
0.1.0 | Dec 28, 2019 |
#418 in Cargo plugins
23KB
545 lines
cargo-manifmt
rustfmt for your Cargo.toml.
⚠️Warning: cargo-manifmt is still under active development. ⚠️
Running cargo-manifmt may silently corrupt your Cargo.toml file. Commit before running cargo-manifmt, and inspect the resulting diff by hand.
Usage
Installation:
$ cargo install cargo-manifmt
Then, from within a Cargo workspace, run:
$ cargo manifmt
All Cargo.toml manifests within the workspace will be reformatted in place according to cargo-manifmt's hardcoded style guide. There are intentionally no configuration options.
Features
- Sorts package metadata into a consistent order that places the most important keys at the time.
- Sorts dependencies alphabetically within each group.
- Rewrites standard "caret" version contraints to be fully-specified, e.g.,
rewrites
foo-dep = "1"
tofoo-dep = "1.0.0"
. - Elides keys whose values are the default.
- Elides targets that can be automatically inferred from the repository layout.
Limitations
-
Comments are only preserved if they appear on their own lines above an entry in a features or dependencies table. If you have comments elsewhere in your Cargo.toml, cargo-manifmt will silently remove them!
-
cargo-manifmt does not yet understand all entries in a Cargo.toml, and may inadvertently remove configuration it does not understand. This is a bug, of course, so please file an issue!
Dependencies
~50MB
~1M SLoC