cargo-manifmt

Crates.iocargo-manifmt
lib.rscargo-manifmt
version0.1.5
sourcesrc
created_at2019-12-28 22:41:10.601739
updated_at2022-02-13 00:48:30.790179
descriptionrustfmt for your Cargo.toml.
homepage
repositoryhttps://github.com/benesch/cargo-manifmt
max_upload_size
id193079
size63,169
Nikhil Benesch (benesch)

documentation

README

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" to foo-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!

Commit count: 20

cargo fmt