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
Use the following steps to configure Zen Spectre Console Extensions. Please refer to Changelog for changes between versions.
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)
{
}
}
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);
}
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");
}
}
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");
}
}
Run the command by using dotnet cli
> dotnet run main
Hello World