Skip to content

Latest commit

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Dead Simple Argparser

This arg parser is as simple as possible, its literally only 95 LOC. Written by @yavko.

Features

  • Writes to an input struct
  • Prints help, version, and description, nothing else

Todo

  • Add error for missing non-nullable argument types (right now it just zeroes everything not provided)

Installation

Add dependency to your build.zig.zon file:

zig fetch --save git+https://github.com/Seirea/dsargs.git

Add import to build.zig:

constdsargs=b.dependency("dsargs", .{
.target=target,
.optimize=optimize,
});
lib.root_module.addImport("dsargs", dsargs.module("dsargs"));

Example

constparser=@import("dsargs");
constExampleArgs=struct {
pubconstversion=std.SemanticVersion.parse("0.1.0") catchunreachable;
pubconstdescription="Example application";
name: []constu8,
age: u32,
};
pubfnmain() !void {
constargs=tryparser.argParser(ExampleArgs, std.heap.page_allocator);
deferparser.deinit_args(args, std.heap.page_allocator);
std.debug.print("age = {d}, name = {s}\n", .{ args.age, args.name });
}

About

A dead simple arg parser for zig, written by @yavko

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages