Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/LukasKalbertodt/bunt

Simple macros to write colored and formatted text to a terminal. Based on `termcolor`, thus also cross-platform.
https://github.com/LukasKalbertodt/bunt

color rust terminal

Last synced: about 1 month ago
JSON representation

Simple macros to write colored and formatted text to a terminal. Based on `termcolor`, thus also cross-platform.

Awesome Lists containing this project

README

        

# Bunt: simple macro-based terminal colors and styles

[CI status of master](https://github.com/LukasKalbertodt/bunt/actions/workflows/ci.yml)
[Crates.io Version](https://crates.io/crates/bunt)
[docs.rs](https://docs.rs/bunt)

`bunt` offers macros to easily print colored and formatted text to a terminal.
It is just a convenience API on top of [`termcolor`](https://crates.io/crates/termcolor).
`bunt` is implemented using procedural macros, but it does not depend on `syn` and compiles fairly quickly.

*Minimum Supported Rust Version*: 1.46.0

```rust
// Style tags will color/format text between the tags.
bunt::println!("I really like {$yellow}lemons{/$}! Like, {$blue+italic}a lot{/$}.");

// To style a single argument, you can also use the `{[style]...}` syntax. This
// can be combined with style tags.
let v = vec![1, 2, 3];
bunt::println!("Here is some data: {[green]:?}. {$bold}Length: {[cyan]}{/$}", v, v.len());
```



See [**the documentation**](https://docs.rs/bunt) for more information.

## Status of this project

This is still a young project, but I already use it in two applications of mine.
The syntax is certainly not final yet.
[Seeking feedback from the community!](https://github.com/LukasKalbertodt/bunt/issues/1)


---

## License

Licensed under either of Apache License, Version
2.0
or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in this project by you, as defined in the Apache-2.0 license,
shall be dual licensed as above, without any additional terms or conditions.