Skip to content

About

A cargo build wrapper with a live, animated status view

Topics

Resources

Stars

299 stars

Watchers

1 watching

Forks

Latest commit

 

History

40 Commits

Folders and files

Repository files navigation

cargo-pretty

Check Format and Code Quality license

demo

Cargo's own build output does the job. This does it prettier: a live status view for build, run and test, showing which crates (or tests) are running right now, how long each one took, and a progress bar driven by cargo's real unit graph instead of a guess.

🚨 The crate has been renamed to cargo-pretty

cargo-pretty-build is now cargo-pretty on crates.io

The name was handed over to us, so the package finally matches the binary. It is one binary now, not one per verb.

Had the old one installed? Switch like this:

cargo uninstall cargo-pretty-build
cargo install cargo-pretty

Then swap cargo pretty-build for cargo pretty build. Bare cargo pretty still means build, so most of your muscle memory survives.

Install

cargo install cargo-pretty      # from crates.io
cargo binstall cargo-pretty     # prebuilt, from GitHub releases
cargo install --git https://github.com/romancitodev/cargo-pretty  # straight from source

Usage

cargo pretty                              # cargo build
cargo pretty build --release
cargo pretty run --bin server -- --port 8080
cargo pretty test

Everything after the verb goes straight to the matching cargo command. For run, args after -- land in your binary, not cargo. For test, args after -- land in the test harness (--no-fail-fast, a name filter, whatever you need).

What you get

  • 🛠️ Up to six crates (or tests) in flight at once, each with its own timer, older entries fading out as newer ones start
  • 📊 A progress bar reading cargo's real unit count (via its own --unit-graph), not an estimate
  • ⚠️ Warnings collected into a browsable panel (↑↓ move, Enter expand, Esc dismiss) instead of scrolling past them
  • ❌ Failed tests get the same treatment, always visible instead of vanishing once the run ends: ↑↓ to pick one, Enter to see the panic
  • ✅ A short summary on exit: time elapsed, libs compiled or tests passed, disk used
  • 💌 Feed it a verb it doesn't know and it takes it personally

Testing

Testing was upgraded to provide a better output experience. Now, when a test fails, the output will include diff-coloring for assert! and assert_eq! panics, making it easier to identify what went wrong. Additionally, you can expand the information of a specific test by pressing Enter, and if you want to retry the test, simply press r. This makes debugging and iterating on tests much more efficient and user-friendly.

testing

Star History

Star History Chart

Built on

The rendering runs on nobubbles, a TUI library from the same author.

License

MIT, see LICENSE.

About

A cargo build wrapper with a live, animated status view

Topics

Resources

Stars

299 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages