A pretty printer for zig
zig

pretty vectors

altagos.dev 3633f6b6 6da8186d

verified
+31 -1
+5
example/main.zig
··· 119 119 })}, 120 120 ); 121 121 122 + const zig_logo_color: @Vector(4, u8) = .{ 247, 164, 29, 255 }; 123 + 124 + print("\nVectors\n", .{}); 125 + print("Pretty vector of u8s - {f}\n", .{pretty(zig_logo_color)}); 126 + 122 127 const eu_error: Result = error.OutOfMemory; 123 128 const eu_ok: Result = .world; 124 129
+26 -1
pretty.zig
··· 190 190 191 191 .array => |arr| formatArray(ctx, arr, run, value), 192 192 // TODO: .pointer => |ptr| {}, 193 - // TODO: .vector => |vec| {}, 193 + .vector => |vec| formatVector(ctx, vec, run, value), 194 194 195 195 .@"fn" => formatFn(T, ctx, run), 196 196 ··· 372 372 try run.write(" }"); 373 373 run.resetColor(); 374 374 } 375 + } 376 + 377 + inline fn formatVector( 378 + comptime ctx: Context, 379 + comptime vec: Type.Vector, 380 + run: *Runtime, 381 + value: @Vector(vec.len, vec.child), 382 + ) !void { 383 + run.setColor(ctx, .dim); 384 + try run.write("( "); 385 + run.resetColor(); 386 + 387 + inline for (0..vec.len) |idx| { 388 + if (idx != 0) { 389 + run.setColor(ctx, .dim); 390 + try run.write(", "); 391 + run.resetColor(); 392 + } 393 + 394 + try innerFmt(vec.child, ctx, run, value[idx], .{ .skip_type_name = true }); 395 + } 396 + 397 + run.setColor(ctx, .dim); 398 + try run.write(" )"); 399 + run.resetColor(); 375 400 } 376 401 377 402 inline fn formatErrorSet(