Are you an LLM? You can read better optimized documentation at /loaders.zig/examples/bars.md for this page in Markdown format
Progress Bar Examples
basic_bar
Minimal bar with the default template {bar} {percent}%:
bash
zig build run-basic_barcustom_ascii_bar
ASCII fill/empty/head characters:
bash
zig build run-custom_ascii_barzig
.style = .{ .filled = "#", .empty = "-", .head = ">" },custom_bracket_bar
Custom brackets and head:
bash
zig build run-custom_bracket_barzig
.style = .{ .left_bracket = "<", .right_bracket = ">", .head = "*" },block_bar
Block characters with partial fills (▏▎▍▌▋▊▉) via loaders.BlockProgressBar:
bash
zig build run-block_barindeterminate
Sliding segment for unknown progress via loaders.Indeterminate:
bash
zig build run-indeterminateindeterminate_timeout
Indeterminate bar with timeout auto-stop:
bash
zig build run-indeterminate_timeoutmanual_tick
Manual rendering — thread_mode = .none with explicit tick() calls:
bash
zig build run-manual_tickauto_thread
Background-thread rendering — thread_mode = .auto:
bash
zig build run-auto_threadexternal_thread
Updates from an external thread — thread_mode = .external:
bash
zig build run-external_threadstarting_value
Start at a current value and run in direction = .decremental:
bash
zig build run-starting_valueprogress_bar_unicode
Unicode block characters with color:
bash
zig build run-progress_bar_unicodezig
.style = .{ .filled = "█", .empty = "░", .head = "█" },
.color = loaders.fg(.{ .ansi4 = .cyan }),progress_bar_countdown
Countdown bar with decremental direction:
bash
zig build run-progress_bar_countdownprogress_bar_countdown_eta
Countdown with ETA and speed formatters:
bash
zig build run-progress_bar_countdown_etazig
.template = "{bar} {percent}% | Elapsed: {elapsed} ETA: {eta} | {speed}",
.formatters = .{
.elapsed = formatElapsed,
.eta = formatEta,
.speed = formatSpeed,
},