You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During command execution, to provide understandable output, we should have:
Progress bars
Elapsed time
Estimated time remaining
Enough information -- not too little, not too much.
Color/Colour indicating importance of information, as well as status (queued/pending, success, in progress, failure, error)
Progress Data Model
Because peace is intended to support:
interactive command line
build logging
machine readable output
web request output
Then:
The progress information needs to be serializable.
It should contain enough information to be rendered.
On a web page, detail may be collapsible, so including more information may be okay to avoid additional round trip time.
Bonus
For a CLI process / web request that is executed separately to the process that is running the command execution, the progress information needs to be retrievable independently. So:
Progress information needs to be retrievable by a separate process -- perhaps written to / read from disk, or exposed on a well-known port.
Available Libraries
The libraries should ideally support async Rust with tokio, since that's what peace uses.
prodash: Good for CLI usage and build logging, and uses tokio.
User Friendly Progress Output
Progress Rendering
During command execution, to provide understandable output, we should have:
Progress Data Model
Because
peace
is intended to support:Then:
Bonus
For a CLI process / web request that is executed separately to the process that is running the command execution, the progress information needs to be retrievable independently. So:
Available Libraries
The libraries should ideally support async Rust with
tokio
, since that's whatpeace
uses.prodash
: Good for CLI usage and build logging, and uses tokio.indicatif
: Good for CLI usage, spawns its own threads. This is used inchoochoo
/ ops_ux.This is compatible with
tokio
and would compile to WASM once Remove"fs"
feature in tokio dependency. console-rs/indicatif#504 is merged and released.Also, the
CLICOLOR_FORCE=1
variable must be set if running theindicatif
tests.zzz
: Minimal progress bar,tokio
ready.spinners
: Nice looking spinners.The text was updated successfully, but these errors were encountered: