FlowCommandLine 1.0.12
dotnet add package FlowCommandLine --version 1.0.12
NuGet\Install-Package FlowCommandLine -Version 1.0.12
<PackageReference Include="FlowCommandLine" Version="1.0.12" />
<PackageVersion Include="FlowCommandLine" Version="1.0.12" />
<PackageReference Include="FlowCommandLine" />
paket add FlowCommandLine --version 1.0.12
#r "nuget: FlowCommandLine, 1.0.12"
#:package FlowCommandLine@1.0.12
#addin nuget:?package=FlowCommandLine&version=1.0.12
#tool nuget:?package=FlowCommandLine&version=1.0.12
FlowCommandLine
FlowCommandLine is a C# library available on Nuget that is a fast and simple command line parser that works in two modes: command-based (e.g. git commit ...) or parameters-only. Parsing can be happened to any model class or record with parameterless constructor.
It support modern dotnet core runtimes (net8+), compilation in NativeAot. It supported auto documentation for commands and parameters.
Lot of types of properties is supported.
By default, the output will be to the system console, but can be redefined to any of your case - instead CommandLine.Console () you can use new CommandLine (new MyConsoleCommandLineProvider()) where MyConsoleCommandLineProvider it is you class which is implement ICommandLineProvider interface.
Command-based mode
Example command line:
myconapp runapp --param1=stringvalue --param2=120
public class Test {
public string Param1 { get; set; } = "";
public int Param2 { get; set; }
}
CommandLine.Console ()
// setup console application description version and so on
.Application ( "My Console App", "1.0.0", "full description.", "Copyright My Super Corporation", "myconapp" )
.AddCommand ( // add console command
"runapp", // command name
( Test parameters ) => { // command delegate handler for class Test
...
},
"Command description", // command description :)
new List<FlowCommandParameter> { // adjust command parameters
FlowCommandParameter.CreateRequired("p1", "param1", "parameter 1 description"), // use factory methods for required parameter
FlowCommandParameter.CreateRequired("p3", "param3", "parameter 3 description"),
FlowCommandParameter.Create("p4", "param4", "parameter description"), // use factory method for non required parameter
FlowCommandParameter.Create("p2", "param2", "parameter2 description")
}
)
.RunCommand ();
Parameters-only mode
Example command line:
myconapp --param1=stringvalue --param2=120
var options = CommandLine.Console ()
.Application ( "My Console App", "1.0.0", "full description.", "Copyright My Super Corporation", "myconapp" )
.AddOption ( "p1", "param1", "parameter 1 description", required: true )
.AddOption ( "p2", "param2", "parameter 2 description", required: false )
.RunOptions<Test> (); // run options parse and
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. 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. |
-
net8.0
- No dependencies.
-
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.
Added supported default command parameter or default option
Added FlowCommandParameter.CreateDefault method for create default parameter
Added FlowCommandParameter.Default property for store make if parameter is default or not
Added CommandLine.AddOptions method for get collection of options (from factory etc)