summaryrefslogtreecommitdiff
path: root/src/subcommand.zig
diff options
context:
space:
mode:
authorGravatar Uko Kokņevičs2025-07-22 06:29:25 +0300
committerGravatar Uko Kokņevičs2025-07-22 06:29:25 +0300
commit73fd32eb28753584edb160fc11b0c16078a2ed6d (patch)
tree6ced78d1293bea471d6fb3dd29a57e860960385e /src/subcommand.zig
parentDocument that zup 0.6.0 compiles with zig 0.14.1 as well (diff)
downloadzup-main.tar.gz
zup-main.tar.xz
zup-main.zip
Update ZigHEADmain
Diffstat (limited to 'src/subcommand.zig')
-rw-r--r--src/subcommand.zig10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/subcommand.zig b/src/subcommand.zig
index 8fde170..6a6259e 100644
--- a/src/subcommand.zig
+++ b/src/subcommand.zig
@@ -21,7 +21,9 @@ pub fn SubCommand(comptime template: type) type {
21 ++ template.params); 21 ++ template.params);
22 22
23 pub fn help(name: []const u8) !void { 23 pub fn help(name: []const u8) !void {
24 const writer = std.io.getStdErr().writer(); 24 var buf: [1024]u8 = undefined;
25 var stderr = std.fs.File.stderr().writer(&buf);
26 const writer = &stderr.interface;
25 try writer.print("USAGE: zup {s} ", .{name}); 27 try writer.print("USAGE: zup {s} ", .{name});
26 try clap.usage(writer, clap.Help, &params); 28 try clap.usage(writer, clap.Help, &params);
27 try writer.writeAll("\n\n"); 29 try writer.writeAll("\n\n");
@@ -33,6 +35,7 @@ pub fn SubCommand(comptime template: type) type {
33 .spacing_between_parameters = 0, 35 .spacing_between_parameters = 0,
34 }); 36 });
35 try writer.writeAll("\n" ++ template.description ++ "\n"); 37 try writer.writeAll("\n" ++ template.description ++ "\n");
38 return writer.flush();
36 } 39 }
37 40
38 pub fn main(name: []const u8, config: Config, args: *ArgIterator) !void { 41 pub fn main(name: []const u8, config: Config, args: *ArgIterator) !void {
@@ -43,7 +46,10 @@ pub fn SubCommand(comptime template: type) type {
43 .allocator = allocator, 46 .allocator = allocator,
44 .diagnostic = &diag, 47 .diagnostic = &diag,
45 }) catch |err| { 48 }) catch |err| {
46 diag.report(std.io.getStdErr().writer(), err) catch {}; 49 var buf: [1024]u8 = undefined;
50 var stderr = std.fs.File.stderr().writer(&buf);
51 diag.report(&stderr.interface, err) catch {};
52 stderr.interface.flush() catch {};
47 try help(name); 53 try help(name);
48 return err; 54 return err;
49 }; 55 };