convey
convey copied to clipboard
A Rust create for outputting information and log messages for humans and machines
When trying to `impl Drop for InnerOutput`, we quickly run into the issue of ```console thread '' panicked at 'cannot access stdout during shutdown', src/libcore/option.rs:1008:5 ``` since most usages of...
In #30, we landed initial support for being a log target. But we can go further. Ideas: - Add custom log macros (`trace`, `info`, `debug`, `warn`, `error`) that take a...
- [ ] Render and update a progress bar for humans - will probably need to return something non-`()` from `Output::print` - [ ] Render other stuff above it while...
Right now, we use locking and a mutable reference to the target to output stuff. This is not very nice, but allows us to work around using termcolor for Windows...
To make it easier to have impressive outputs for custom data types, we should offer some common layout components. These components are similar to what we already have with `span`;...
Specific attributes to be discussed here before implementation. Follow-up for #6
This crate does some stuff on top of just writing to some output. We should write some benchmarks to figure out the performance cost of that. - Write bechmark to...
- [ ] Integration testing is set up There are various option how to do it, e.g. using examples or subcrates. Will most likely benefit from using assert_cmd and/or escargot....
- [ ] Support passing in a JSON-structure with substitutions in `render_json!` - can most likely pass all tokens down to serde_json's `json!` macro https://github.com/killercup/output-rs/blob/d28762e34d20976812542ab8dbd76fc3f1318919/src/json.rs#L63
Hey, author of crossterm here. Because of some discussion in wg-cli I came up to this crate and saw the issues. Crossterm solves a lot of issues you've listed ....