README (1198B)
1 progress 2 ======== 3 4 Thread safe progress bar and spinner library. 5 6 7 Installation 8 ------------ 9 10 1. Fetch the package 11 12 $ zig fetch --save git+https://git.brookjeynes.dev/bjeynes/progress.git 13 14 2. Add to your build.zig 15 16 const progress = b.dependency("progress", .{}).module("progress"); 17 exe.root_module.addImport("progress", progress); 18 19 20 Dependencies 21 ------------ 22 23 - Zig compiler (>= 0.16.0) 24 25 26 Usage 27 ----- 28 29 More examples can be found in examples/ 30 31 const std = @import("std"); 32 const ProgressBar = @import("progress").Bar; 33 const ProgressSpinner = @import("progress").Spinner; 34 35 pub fn bar() !void { 36 const stdout = std.io.getStdOut().writer(); 37 var pb = ProgressBar.init(10, stdout.any(), .{}); 38 39 while (!pb.isFinished()) { 40 pb.add(1); 41 try pb.render(); 42 43 std.time.sleep(std.time.ns_per_ms * 150); 44 } 45 } 46 47 pub fn spinner() !void { 48 const stdout = std.io.getStdOut().writer(); 49 var ps = ProgressSpinner.init(stdout.any(), .{ 50 .symbols = ProgressSpinner.PredefinedSymbols.default, 51 }); 52 53 var iterations: usize = 0; 54 while (!ps.isFinished()) { 55 iterations += 1; 56 try ps.render(); 57 58 if (iterations == 20) try ps.finish(); 59 60 std.time.sleep(std.time.ns_per_ms * 150); 61 } 62 }