nils-term
Overview
Small terminal utilities shared across the workspace.
Progress
nils-term provides a minimal, RAII-friendly progress abstraction that is safe for
machine-readable stdout output:
- progress is drawn to stderr by default
- with
ProgressEnabled::Auto(default), progress is enabled only when stderr is a TTY
Determinate progress
use ;
let total = 3_u64;
let progress = new;
for i in 0..total
progress.finish;
Spinner progress
use ;
let spinner = spinner;
spinner.set_message;
spinner.tick;
spinner.finish_and_clear;
Library guidance
Prefer accepting a Progress (or ProgressOptions) from the caller instead of reading env vars
inside library code. This keeps libraries deterministic and lets binaries decide whether to show
progress (e.g. interactive vs CI).