authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2024-10-27 03:13:40 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2024-10-27 03:13:40 -07:00
log47e4db9832c857c9c030595d44c4f4ccb1ce70a6
treea35f2b192694520485322703bb3502c9add4f46a
parentaa5fa4c5a5fbd947a09667e878c13c05395ca0f3

clean the name of this param


1 files changed, 5 insertions(+), 5 deletions(-)

src/lib.zig+5-5
......@@ -40,15 +40,15 @@ fn clean(out: anytype, n: usize) !void {
4040 }
4141}
4242
43pub fn forEnum(out: anytype, in: anytype, comptime prompt: []const u8, alloc: std.mem.Allocator, comptime options: type, default: ?options) !options {
44 comptime std.debug.assert(@typeInfo(options) == .Enum);
43pub fn forEnum(out: anytype, in: anytype, comptime prompt: []const u8, alloc: std.mem.Allocator, comptime E: type, default: ?E) !E {
44 comptime std.debug.assert(@typeInfo(E) == .Enum);
4545 const def: ?[]const u8 = if (default) |d| @tagName(d) else null;
4646
4747 try out.print(comptime ansi.color.Fg(.Green, "? "), .{});
4848 try out.print(comptime ansi.color.Bold(prompt ++ " "), .{});
4949
5050 try out.print(ansi.style.Faint ++ "(", .{});
51 inline for (std.meta.fields(options), 0..) |f, i| {
51 inline for (std.meta.fields(E), 0..) |f, i| {
5252 if (i != 0) try out.print("/", .{});
5353 if (std.mem.eql(u8, f.name, def orelse "")) {
5454 try out.print(ansi.style.ResetIntensity, .{});
......@@ -58,14 +58,14 @@ pub fn forEnum(out: anytype, in: anytype, comptime prompt: []const u8, alloc: st
5858 }
5959 try out.print(")" ++ ansi.style.ResetIntensity ++ " ", .{});
6060
61 var value: options = undefined;
61 var value: E = undefined;
6262 var i: usize = 0;
6363 while (true) {
6464 const p = try doprompt(out, in, alloc, def);
6565 defer if (!std.mem.eql(u8, p.value, def orelse "")) alloc.free(p.value);
6666
6767 i += p.n;
68 if (std.meta.stringToEnum(options, p.value)) |cap| {
68 if (std.meta.stringToEnum(E, p.value)) |cap| {
6969 value = cap;
7070 break;
7171 }