Lightning Fast
Optimized string operations and unified utility functions for maximum efficiency and zero-allocation parsing where possible.
Fast, powerful, and developer-friendly CLI argument parsing

const std = @import("std");
const args = @import("args");
pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
defer _ = gpa.deinit();
const allocator = gpa.allocator();
var parser = try args.ArgumentParser.init(allocator, .{
.name = "myapp",
.version = "1.0.0",
.description = "A sample application",
});
defer parser.deinit();
try parser.addFlag("verbose", .{ .short = 'v', .help = "Enable verbose output" });
try parser.addOption("output", .{ .short = 'o', .help = "Output file" });
var result = try parser.parseProcess();
defer result.deinit();
if (result.getBool("verbose") orelse false) {
std.debug.print("Verbose mode enabled!\n", .{});
}
}Install the latest stable release (v0.0.3):
zig fetch --save https://github.com/muhammad-fiaz/args.zig/archive/refs/tags/0.0.3.tar.gzInstall the latest development version:
zig fetch --save git+https://github.com/muhammad-fiaz/args.zigThen in your build.zig:
const args_dep = b.dependency("args", .{
.target = target,
.optimize = optimize,
});
exe.root_module.addImport("args", args_dep.module("args"));