mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-04-23 03:32:51 +08:00

Allow custom help providers * Version option will show in help even with a default command * Reserve `-v` and `--version` as special Spectre.Console command line arguments (nb. breaking change for Spectre.Console users who have a default command with a settings class that uses either of these switches). * Help writer correctly determines if trailing commands exist and whether to display them as optional or mandatory in the usage statement. * Ability to control the number of indirect commands to display in the help text when the command itself doesn't have any examples of its own. Defaults to 5 (for backward compatibility) but can be set to any integer or zero to disable completely. * Significant increase in unit test coverage for the help writer. * Minor grammatical improvements to website documentation.
40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using Demo.Commands;
|
|
using Demo.Commands.Add;
|
|
using Demo.Commands.Run;
|
|
using Demo.Commands.Serve;
|
|
using Spectre.Console.Cli;
|
|
|
|
namespace Demo;
|
|
|
|
public static class Program
|
|
{
|
|
public static int Main(string[] args)
|
|
{
|
|
var app = new CommandApp();
|
|
app.Configure(config =>
|
|
{
|
|
config.SetApplicationName("fake-dotnet");
|
|
config.ValidateExamples();
|
|
config.AddExample("run", "--no-build");
|
|
|
|
// Run
|
|
config.AddCommand<RunCommand>("run");
|
|
|
|
// Add
|
|
config.AddBranch<AddSettings>("add", add =>
|
|
{
|
|
add.SetDescription("Add a package or reference to a .NET project");
|
|
add.AddCommand<AddPackageCommand>("package");
|
|
add.AddCommand<AddReferenceCommand>("reference");
|
|
});
|
|
|
|
// Serve
|
|
config.AddCommand<ServeCommand>("serve")
|
|
.WithExample("serve", "-o", "firefox")
|
|
.WithExample("serve", "--port", "80", "-o", "firefox");
|
|
});
|
|
|
|
return app.Run(args);
|
|
}
|
|
}
|