P2Dev.CLI
0.1.0
dotnet add package P2Dev.CLI --version 0.1.0
NuGet\Install-Package P2Dev.CLI -Version 0.1.0
<PackageReference Include="P2Dev.CLI" Version="0.1.0" />
<PackageVersion Include="P2Dev.CLI" Version="0.1.0" />
<PackageReference Include="P2Dev.CLI" />
paket add P2Dev.CLI --version 0.1.0
#r "nuget: P2Dev.CLI, 0.1.0"
#:package P2Dev.CLI@0.1.0
#addin nuget:?package=P2Dev.CLI&version=0.1.0
#tool nuget:?package=P2Dev.CLI&version=0.1.0
P2Dev.CLI Library
The P2Dev.CLI library is a flexible command-line interface (CLI) toolkit for .NET applications. It allows developers to easily create and manage command structures within their applications, including support for nested commands and asynchronous execution.
Features
- Command Handling: Process commands and sub-commands asynchronously.
- Parameter Parsing: Automatically handle and parse command-line parameters.
- Flexible Output: Support for JSON output formatting, including pretty-printing.
Installation
To use P2Dev.CLI in your project, include the necessary files in your project or build them into a library.
Usage
Below is a simple example that demonstrates setting up a CLI client with a root command and a couple of subcommands:
using P2Dev.CLI;
CliClient client = new CliClient();
client.RootCmd = new Cmd()
{
Command = async (cmdParams) =>
{
Console.WriteLine("Hello World");
return 0;
},
SubCmds = new Dictionary<string, Cmd>()
{
{
"subcmd", new Cmd()
{
Command = async (cmdParams) =>
{
Console.WriteLine("Hello SubCmd");
return 0;
}
}
},
{
"subcmd2", new Cmd()
{
Command = async (cmdParams) =>
{
Console.WriteLine("Hello SubCmd2");
return 0;
}
}
}
}
};
client.ProcessCommand(args).Wait();
This example shows how to initialize the CLI client, set a root command, and define two subcommands. Each command prints a message to the console.
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. net9.0 was computed. 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | 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.1
- Newtonsoft.Json (>= 13.0.3)
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 |
---|---|---|
0.1.0 | 138 | 5/6/2024 |