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.