Skip to content

Commit c997286

Browse files
committed
allow -h, --help, --version as non first CLI argument
1 parent bd95c2b commit c997286

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

src/main.zig

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -436,16 +436,17 @@ fn parseArgs(allocator: std.mem.Allocator) ParseArgsError!ParseArgsResult {
436436

437437
var arg_index: usize = 0;
438438
while (args_it.next()) |arg| : (arg_index += 1) {
439-
if (arg_index == 0) {
440-
if (std.mem.eql(u8, arg, "help") or std.mem.eql(u8, arg, "-h") or std.mem.eql(u8, arg, "--help")) { // help
441-
try std.fs.File.stderr().writeAll(usage);
442-
std.process.exit(0);
443-
} else if (std.mem.eql(u8, arg, "version") or std.mem.eql(u8, arg, "--version")) { // version
444-
try std.fs.File.stdout().writeAll(zls.build_options.version_string ++ "\n");
445-
std.process.exit(0);
446-
} else if (std.mem.eql(u8, arg, "env")) { // env
447-
try @"zls env"(allocator);
448-
}
439+
if ((arg_index == 0 and std.mem.eql(u8, arg, "help")) or
440+
std.mem.eql(u8, arg, "-h") or
441+
std.mem.eql(u8, arg, "--help"))
442+
{
443+
try std.fs.File.stderr().writeAll(usage);
444+
std.process.exit(0);
445+
} else if ((arg_index == 0 and std.mem.eql(u8, arg, "version")) or std.mem.eql(u8, arg, "--version")) {
446+
try std.fs.File.stdout().writeAll(zls.build_options.version_string ++ "\n");
447+
std.process.exit(0);
448+
} else if (arg_index == 0 and std.mem.eql(u8, arg, "env")) {
449+
try @"zls env"(allocator);
449450
}
450451

451452
if (std.mem.eql(u8, arg, "--config-path")) { // --config-path

0 commit comments

Comments
 (0)