cova
cova copied to clipboard
Commands, Options, Values, Arguments. A simple yet robust cross-platform command line argument parsing library for Zig.
Per talks with @matu3ba: - The list should be easily parsable for all shell languages for selection by the user as shell script (for now) with listing most relevant items...
A new function, `cova.genCompletions()`, should generate completions for provided argument tokens based on a Command. Very similar to `cova.parseArgs()`. This can be used to generate completions in custom CLIs or...
Every public function in the library should be tested either individually or in a group similar to how the tests in `src/cova` work. Additionally this testing should be conducted across...
An addition like this should be added to the CommandT definition.
The use of `@constCast` is generally discouraged, but it's used throughout the library in the Command, Option, and Value types. There two main reasons for this: 1. A desire to...
If possible, Argument Type metadata should be optionally pulled via AST Parsing of type/field comments.
Mimic the Diagnostic pattern from [`std.json.Diagnostics`](https://ziglang.org/documentation/master/std/#std.json.scanner.Diagnostics) to provide better error handling to library users. This should be provided as an Optional Struct via the `cova.ParseConfig`.
Introduce a new function for Commands called `fromHelpMessage()` (or similar) that allows users to create Commands from a string that's setup like a Help Message. If possible, this Help Message...
cova's build.zig is no longer valid. ``` /Users/p7r0x7/.cache/zig/p/122073922013698dd2c2339cb9fa37436408eb97d033f166b817d8a12193c47c2af3/build.zig:182:51: error: no field named 'Struct' in union 'builtin.Type' inline for (@typeInfo(generate.MetaDocConfig).Struct.fields) |field| { ^~~~~~ /Users/p7r0x7/zig/lib/std/builtin.zig:257:18: note: union declared here pub const Type...
Could not implement custom multi-value without breaking changes https://github.com/charlesrocket/xtxf/commit/660b9462f5083b1a69f00e0914ca219ae049efb7. Currently, there is no way to allow `-f` while `-f=a,b` is valid.