termpulse
Native terminal progress indicators via OSC 9;4 -- with smart terminal detection, graceful fallback, throttling, and ETA estimation.
Usage
use Controller;
let mut ctrl = auto;
ctrl.set;
ctrl.set;
ctrl.set;
ctrl.done;
Features
- Zero-config detection -- auto-detects 10+ terminals (Ghostty, WezTerm, iTerm2, Kitty, Windows Terminal, VS Code, and more)
- Three-tier fallback -- OSC 9;4 native > ASCII progress bar > silent mode
- tmux DCS passthrough -- automatic multiplexer detection and wrapping
- Throttle + dedup -- 150ms rate limiting with deduplication
- ETA estimation -- exponential moving average algorithm
- Label sanitization -- prevents escape sequence injection
NO_COLORsupport -- respects no-color.org convention- Dependency injection -- all I/O is injectable via traits for testing
Part of termpulse
This is the main library crate. For the low-level no_std core, see termpulse-core. For the CLI, see termpulse-cli.