Zen Spectre Console Extensions
Overview
Installing
You can add the package to your project using dotnet core CLI
dotnet add package ZenExtensions.Spectre.Console
or by package manager console in Visual Studio
Install-Package ZenExtensions.Spectre.Console
Usage
Use the following steps to configure Zen Spectre Console Extensions. Please refer to Changelog for changes between versions.
1. Create Startup Class
using ZenExtensions.Spectre.Console;
public class Startup : BaseStartup
{
public abstract void ConfigureServices(IServiceCollection services, IConfiguration configuration, IHostEnvironment hostingEnvironment)
{
}
public override void ConfigureCommands(in IConfigurator configurator)
{
}
}
2. Configure Program file
using ZenExtensions.Spectre.Console;
using System.Threading.Tasks;
class Program
{
public static Task<int> Main(string[] args) =>
CliHost.RunAsync<Startup>(args);
}
You can also have a default command using generic SpectreConsoleHost.
using ZenExtensions.Spectre.Console;
using System.Threading.Tasks;
class Program
{
public static Task<int> RunWithMainCommandAsync(string[] args) =>
CliHost.RunAsync<Startup>(args);
}
3. Add a command
using Spectre.Console;
using Spectre.Console.Cli;
using ZenExtensions.Spectre.Console;
public class MainCommand : ZenCommand
{
public override void OnExecute(CommandContext context, CancellationToken cancellationToken)
{
Terminal.WriteLine("Hello World");
}
}
4. Register command with application
using ZenExtensions.Spectre.Console;
public class Startup : BaseStartup
{
public abstract void ConfigureServices(IServiceCollection services, IConfiguration configuration, IHostEnvironment hostingEnvironment)
{
}
public override void ConfigureCommands(in IConfigurator configurator)
{
configurator.AddCommand<MainCommand>("main")
.WithDescription("Displays hello world");
}
}
5. Run the command
Run the command by using dotnet cli
> dotnet run main
Hello World