using Cocona; using Cocona.Application; using Cocona.Command; using Cocona.Command.Features; using Cocona.Help; using Terminal.Commands; var builder = CoconaApp.CreateBuilder(args, options => { options.TreatPublicMethodsAsCommands = false; options.EnableShellCompletionSupport = true; }); var app = builder.Build(); app.AddCommands(); app.AddCommands(); app.AddCommand(PrimaryCommand); await app.RunAsync(); return; // // We define the primary command here, to show our own version information when // the `--version` option is used, and to show the help index when no option is // specified. // void PrimaryCommand( bool version, [FromService] ICoconaAppContextAccessor appContext, [FromService] ICoconaCommandProvider commandProvider, [FromService] ICoconaHelpRenderer helpRenderer, [FromService] ICoconaCommandHelpProvider commandHelpProvider) { if (version) { VersionCommands.ShowVersion(); return; } var commandStack = appContext.Current!.Features.Get().CommandStack; Console.Write(helpRenderer.Render(commandHelpProvider.CreateCommandsIndexHelp(commandProvider.GetCommandCollection(), commandStack))); }