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