FluentCli 1.1.0
See the version list below for details.
dotnet add package FluentCli --version 1.1.0
NuGet\Install-Package FluentCli -Version 1.1.0
<PackageReference Include="FluentCli" Version="1.1.0" />
paket add FluentCli --version 1.1.0
#r "nuget: FluentCli, 1.1.0"
// Install FluentCli as a Cake Addin #addin nuget:?package=FluentCli&version=1.1.0 // Install FluentCli as a Cake Tool #tool nuget:?package=FluentCli&version=1.1.0
FluentCli
A .NET fluent Api for writing command line applications. Heavily inspired by commander, which was in turn inspired by commander
Example
static void Main(string[] args)
{
var app = new FluentCli.Program();
app
.Version("0.0.1")
.PrintErrors()
.AddFlag("-t, -test, --testing", "runs a test")
.AddOnce("-n, --name", "prints your name")
.Run(args);
if (app.Is("testing")) {
Console.WriteLine("Tested!");
}
if (app.Get("name") != null) {
Console.WriteLine($"Your name is {app.Get("name")}");
}
}
Api
AddFlag(string flags, string helpText)
flags
String of all flags that you want to correspond to this flag. Seperate them by commas. One flag must start with "--" and only one.
helpText
The text that is printed to the command line when a user asks for help.
AddOnce(string flags, string helpText)
flags
String of all flags that you want to correspond to this flag. Seperate them by commas. One flag must start with "--" and only one.
helpText
The text that is printed to the command line when a user asks for help.
Is(string flagName)
flagName
The long flag of the argument you want to query.
returns wether the given flag was entered by the user. Will look at all flag variations for the entered flag. ie Is("help")
will look for '-h', '-?', or '--help'.
Get(string flagName)
flagName
The long flag of the argument you want to query. Will look at all flag variations for the entered flag. ie Get("argument")
will look for '-a', '-arg', or '--argument'.
Arguments()
Returns all of the arguments passed into the program not corresponding to a flag.
Version(string version, [string flags])
Shortcut for adding a version argument. defaults to "-V" and "--version".
PrintErrors()
If this function is called, errors generated by users will be printed directly to the console. If not called exceptions will be thrown so you can handle user interaction yourself.
returns the argument entered after the flag.
Todo
- Testing, more of it. Unit tests, integration tests.
- Better Docs.
- Flag types: need to parse more than just booleans. Want to parse ~single values~ and lists.
- Possibly convert scalar types to take even more load off of users.
- Refactoring main program file. Too much in it. and Run() method could be lighter.
- Multiflag ie. "-abc" can be the same as "-a -b -c"
- Paramaters for arguments in help text. ie instead of "-n" get "-n [name]"
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.