progress

thread safe progress bar and spinner library
git clone git://brookjeynes.dev/bjeynes/progress.git
Log | Files | Refs | README | LICENSE

simple.zig (618B)


      1 const std = @import("std");
      2 const ProgressSpinner = @import("progress").Spinner;
      3 
      4 pub fn main(init: std.process.Init) !void {
      5     var stdout_buf: [4096]u8 = undefined;
      6     var stdout_writer = std.Io.File.stdout().writer(init.io, &stdout_buf);
      7     var ps = ProgressSpinner.init(&stdout_writer, .{
      8         .symbols = ProgressSpinner.PredefinedSymbols.default,
      9     });
     10 
     11     var iterations: usize = 0;
     12     while (!ps.isFinished()) {
     13         iterations += 1;
     14         try ps.render();
     15 
     16         if (iterations == 20) try ps.finish();
     17 
     18         try std.Io.sleep(init.io, std.Io.Duration.fromMilliseconds(150), .awake);
     19     }
     20 }