Quikline 0.1.1
See the version list below for details.
dotnet add package Quikline --version 0.1.1
NuGet\Install-Package Quikline -Version 0.1.1
<PackageReference Include="Quikline" Version="0.1.1" />
paket add Quikline --version 0.1.1
#r "nuget: Quikline, 0.1.1"
// Install Quikline as a Cake Addin #addin nuget:?package=Quikline&version=0.1.1 // Install Quikline as a Cake Tool #tool nuget:?package=Quikline&version=0.1.1
Quikline
Quikline provides an easy, intuitive API for creating your Command Line Interface.
Features
Quikline is attribute based, create a struct
and tag it with the [Command]
attribute.
Tag your options with [Option]
and your positional arguments with [Argument]
.
Each of these have several properties for you to fill in to customize your API, the most important of which is the Description
.
Example
// Can have multiple Command attributes for different purposes
// If the same value is provided, the last one takes precedence
[Command(Version=true, Description="My command line tool")]
public readonly struct MyCommand {
[Option(Short = 'v', Long = "verbose", Description = "Enable verbose output")]
public readonly bool Verbose;
[Option(Short = 'q', Long = "quiet", Description = "Enable quiet output")]
public readonly bool Quiet;
[Argument(Description = "Some argument")]
public readonly string? Argument; // Nullable means optional
[Argument(Description = "Some other argument")]
public readonly string OtherArgument; // Not nullable so its required
[Argument(Description = "Some third argument", Default="default")]
public readonly string ThirdArgument; // Not nullable, but has default so its optional
[Argument(Description = "Some invalid argument", Default="default")]
public readonly string? InvalidArgument; // Nullable and has default which is not allowed
}
Now that you've defined your commands structure, all you have to do is let Quikline do the magic:
var myCommand = Quik.Parse<MyCommand>();
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. |
-
net8.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.
The first release of Quikline v0.1.0.0. You can define a command, group args in sub-structs and define subcommands.