Examples
The examples/ directory contains runnable demonstrations for common CLI situations.
basic_bar.rs
Shows a default bar and a Unicode themed bar.
default [##########>-----------------------------] 25/100 (25%) working
unicode [━━━━━━━━━━╸░░░░░░░░░░░░░░░░░░░░] 25/100 working
spinner.rs
Runs the dots, moon, and clock presets with automatic steady ticks and a final success symbol.
multi_progress.rs
Creates three bars, moves each into a worker thread, and calls multi.join() on the main
thread so the terminal block refreshes while work continues.
custom_style.rs
Demonstrates a custom template, progress_chars("=>-"), custom spinner frames, and a bold
cyan ColorSpec.
download_simulation.rs
Uses byte-aware variables:
download [########>-------------------------------] 12.00 MB/50.00 MB 1.34 MB/s ETA ~28s output.bin
nested_bars.rs
Shows an outer batch bar and an inner item bar using MultiProgress, with phase messages
printed above the block.
eta_and_rate.rs
Displays {per_sec:.2}, {eta}, and {elapsed} while simulated processing speed changes.
themed_bar.rs
Loops through every theme and renders a short visual gallery.
iterator_wrap.rs
Demonstrates .progress(), .progress_with_style(style), .progress_count(500), summing,
and chained iterators.
custom_template.rs
Registers custom_label with with_key and renders phase labels directly in the template.
advanced_customization.rs
Combines reusable ProgressChars, ANSI color, status-aware templates, compact remaining
counts, draw throttling, progress state reads, and finish_with_symbol.
custom_loader.rs
Shows custom loading animations using the meter, progress block, and pulse presets plus spinner status helpers.