GNUArgParser 1.0.0
dotnet add package GNUArgParser --version 1.0.0
NuGet\Install-Package GNUArgParser -Version 1.0.0
<PackageReference Include="GNUArgParser" Version="1.0.0" />
<PackageVersion Include="GNUArgParser" Version="1.0.0" />
<PackageReference Include="GNUArgParser" />
paket add GNUArgParser --version 1.0.0
#r "nuget: GNUArgParser, 1.0.0"
#:package GNUArgParser@1.0.0
#addin nuget:?package=GNUArgParser&version=1.0.0
#tool nuget:?package=GNUArgParser&version=1.0.0
GNUArgParser
A C# library for parsing GNU command-line arguments.
Supported types
Currently the library supports these types of arguments:
# single-character arguments
foo -b -r
foo -br
# long arguments
foo --bar
# long arguments with options
foo --bar=egg
# of course, therby can all be mixed together
foo -rb --num=41 --lorem-ipsum
How to use
To parse the arguments into easily accessible collections, use the ArgumentParser class and pass the builtin args variable:
Arguments arg = ArgumentParser.Parse(args);
If multiple instances of the same argument is specified, the first one has priority.
Now you can access them with 3 collections:
Flagsfor single-character and long arguments without options. String array.Optionsfor long arguments with options. Dictionary, where (eg.--foo=bar):- key - name (
foo) - value - option (
bar)
- key - name (
Otherfor every element of the array that wasn't detected as an argument (likehelpinfoo help). String array.
Aliases
You can set up aliases for some arguments to act as other ones.
This is done with the ArgumentParser.Aliases dictionary.
- key - the name of the alias
- value - the name of the argument that the alias will map to
For example, if we define the alias dictionary as follows:
ArgumentParser.Aliases = new()
{
{ "bar", "b" }
};
Then execute foo --bar, the Flags array will contain b.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 243 | 5/25/2025 |