From a8a70a3b048199bd74f37c79d5b8460194fa0789 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Sun, 7 Feb 2021 19:11:54 +0100 Subject: riverctl: add -focused-output for option commands This is more convenient for interactive usage and makes using the same bindings across multiple outputs easy. --- riverctl/args.zig | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'riverctl/args.zig') diff --git a/riverctl/args.zig b/riverctl/args.zig index 3240a97..29ca0f9 100644 --- a/riverctl/args.zig +++ b/riverctl/args.zig @@ -60,6 +60,7 @@ pub fn Args(comptime num_positionals: comptime_int, comptime flag_defs: []const var arg_idx: usize = 0; var positional_idx: usize = 0; outer: while (arg_idx < argv.len) : (arg_idx += 1) { + var should_continue = false; inline for (flag_defs) |flag_def, flag_idx| { if (cstr.cmp(flag_def.name, argv[arg_idx]) == 0) { switch (flag_def.kind) { @@ -73,9 +74,12 @@ pub fn Args(comptime num_positionals: comptime_int, comptime flag_defs: []const "' requires an argument but none was provided!", .{}); }, } - continue :outer; + // TODO: this variable exists as a workaround for the fact that + // using continue :outer here crashes the stage1 compiler. + should_continue = true; } } + if (should_continue) continue; if (positional_idx == num_positionals) { root.printErrorExit( -- cgit v1.2.3