diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 25 |
1 files changed, 5 insertions, 20 deletions
| @@ -77,10 +77,7 @@ pub fn main() !void { | |||
| 77 | .allocator = gpa.allocator(), | 77 | .allocator = gpa.allocator(), |
| 78 | }) catch |err| { | 78 | }) catch |err| { |
| 79 | // Report useful error and exit. | 79 | // Report useful error and exit. |
| 80 | var buf: [1024]u8 = undefined; | 80 | try diag.reportToFile(.stderr(), err); |
| 81 | var stderr = std.fs.File.stderr().writer(&buf); | ||
| 82 | diag.report(&stderr.interface, err) catch {}; | ||
| 83 | try stderr.interface.flush(); | ||
| 84 | return err; | 81 | return err; |
| 85 | }; | 82 | }; |
| 86 | defer res.deinit(); | 83 | defer res.deinit(); |
| @@ -144,10 +141,7 @@ pub fn main() !void { | |||
| 144 | // allowed. | 141 | // allowed. |
| 145 | .assignment_separators = "=:", | 142 | .assignment_separators = "=:", |
| 146 | }) catch |err| { | 143 | }) catch |err| { |
| 147 | var buf: [1024]u8 = undefined; | 144 | try diag.reportToFile(.stderr(), err); |
| 148 | var stderr = std.fs.File.stderr().writer(&buf); | ||
| 149 | diag.report(&stderr.interface, err) catch {}; | ||
| 150 | try stderr.interface.flush(); | ||
| 151 | return err; | 145 | return err; |
| 152 | }; | 146 | }; |
| 153 | defer res.deinit(); | 147 | defer res.deinit(); |
| @@ -217,10 +211,7 @@ pub fn main() !void { | |||
| 217 | // not fully consumed. It can then be reused to parse the arguments for subcommands. | 211 | // not fully consumed. It can then be reused to parse the arguments for subcommands. |
| 218 | .terminating_positional = 0, | 212 | .terminating_positional = 0, |
| 219 | }) catch |err| { | 213 | }) catch |err| { |
| 220 | var buf: [1024]u8 = undefined; | 214 | try diag.reportToFile(.stderr(), err); |
| 221 | var stderr = std.fs.File.stderr().writer(&buf); | ||
| 222 | diag.report(&stderr.interface, err) catch {}; | ||
| 223 | try stderr.interface.flush(); | ||
| 224 | return err; | 215 | return err; |
| 225 | }; | 216 | }; |
| 226 | defer res.deinit(); | 217 | defer res.deinit(); |
| @@ -256,10 +247,7 @@ fn mathMain(gpa: std.mem.Allocator, iter: *std.process.ArgIterator, main_args: M | |||
| 256 | .diagnostic = &diag, | 247 | .diagnostic = &diag, |
| 257 | .allocator = gpa, | 248 | .allocator = gpa, |
| 258 | }) catch |err| { | 249 | }) catch |err| { |
| 259 | var buf: [1024]u8 = undefined; | 250 | try diag.reportToFile(.stderr(), err); |
| 260 | var stderr = std.fs.File.stderr().writer(&buf); | ||
| 261 | diag.report(&stderr.interface, err) catch {}; | ||
| 262 | try stderr.interface.flush(); | ||
| 263 | return err; // propagate error | 251 | return err; // propagate error |
| 264 | }; | 252 | }; |
| 265 | defer res.deinit(); | 253 | defer res.deinit(); |
| @@ -320,10 +308,7 @@ pub fn main() !void { | |||
| 320 | // Because we use a streaming parser, we have to consume each argument parsed individually. | 308 | // Because we use a streaming parser, we have to consume each argument parsed individually. |
| 321 | while (parser.next() catch |err| { | 309 | while (parser.next() catch |err| { |
| 322 | // Report useful error and exit. | 310 | // Report useful error and exit. |
| 323 | var buf: [1024]u8 = undefined; | 311 | try diag.reportToFile(.stderr(), err); |
| 324 | var stderr = std.fs.File.stderr().writer(&buf); | ||
| 325 | diag.report(&stderr.interface, err) catch {}; | ||
| 326 | try stderr.interface.flush(); | ||
| 327 | return err; | 312 | return err; |
| 328 | }) |arg| { | 313 | }) |arg| { |
| 329 | // arg.param will point to the parameter which matched the argument. | 314 | // arg.param will point to the parameter which matched the argument. |