Matthias77.CliArgs
1.0.11
dotnet add package Matthias77.CliArgs --version 1.0.11
NuGet\Install-Package Matthias77.CliArgs -Version 1.0.11
<PackageReference Include="Matthias77.CliArgs" Version="1.0.11" />
paket add Matthias77.CliArgs --version 1.0.11
#r "nuget: Matthias77.CliArgs, 1.0.11"
// Install Matthias77.CliArgs as a Cake Addin #addin nuget:?package=Matthias77.CliArgs&version=1.0.11 // Install Matthias77.CliArgs as a Cake Tool #tool nuget:?package=Matthias77.CliArgs&version=1.0.11
CliArgs - a simplified command line argument parser
Intention
It is a minimalistic command line parser compared with GetOpt
.
All command line options are optional and cannot be combined.
No checks on the configuration are performed, the developer has to avoid duplicates and other complications.
The possible options are specified as annotations on the fields of a class.
Limitations
It is GetOpt
little cousin, it has no advanced features. CommandLine arguments are processed in the order they appear on fields at runtime and are subsequently removed from the returned residual command line. The order is not guaranteed. And the values are filled in th supplied class with no checks.
How does it work?
The Parser in Matthias77.CliArgs.CmdLineArgs.Parse()
inspects the fields in the supplied class and checks the attached attributes. It then finds occurances on the command line and dependent on the field type, it might retrieve arguments and store them.
Actions
Field type | Condition | Action |
---|---|---|
Boolean |
option sets this field to true | |
Integer |
Increase=false | takes next argument and assigns the int value |
Integer |
Increase=true | increments the value |
String |
assigns the next argument | |
List<String> |
appends the next argument to the list | |
List<int> |
arguments might be comma-separated list of single numbers or ranges <lower end>-<upper end> , all numbers are added to the list |
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.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.