progress

progress
git clone git://brookjeynes.dev/bjeynes/progress.git
Log | Files | Refs | README | LICENSE

commit 85e04623fc2dbee5a8f5019afc3e26fd72acd7e6
parent 019572f6d14aa5058dde719ed1895b2d5f80cbe6
Author: brookjeynes <me@brookjeynes.dev>
Date:   Wed, 22 Apr 2026 11:17:24 +1000

fix: extra_front_chars not handling custom 2width characters

Diffstat:
Msrc/bar.zig | 9+++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/bar.zig b/src/bar.zig @@ -87,13 +87,14 @@ pub fn render(self: *Bar) !void { const percentage = @as(f32, @floatFromInt(self.current_progress)) / @as(f32, @floatFromInt(self.max_progress)); var padding: usize = 0; + const prefix_len: usize = std.unicode.utf8CodepointSequenceLength(self.config.bar_prefix) catch 1; + const suffix_len: usize = std.unicode.utf8CodepointSequenceLength(self.config.bar_suffix) catch 1; + const extra_front_chars = brk: { - var count: usize = 0; + var count: usize = prefix_len + suffix_len; if (self.config.description) |desc| { - count += (desc.len + 3); // "{desc} ||" - } else { - count += 2; // "||" + count += desc.len + 1; // "{desc} + one space" } if (self.config.show_percentage) count += 4; // "xxx%"