Files
alt-gen/src/AltGen.Console/Common/HostBuilderExtensions.cs
T

29 lines
779 B
C#
Raw Normal View History

namespace AltGen.Console.Common;
static class HostBuilderExtensions
{
public static CommandApp<GenerateCommand> BuildApp(this IHostBuilder builder)
{
var registrar = new TypeRegistrar(builder);
var app = new CommandApp<GenerateCommand>(registrar);
2025-02-18 23:28:56 -06:00
2025-03-08 19:31:56 -06:00
app.Configure(static c =>
{
2025-03-15 18:44:10 -05:00
c.SetExceptionHandler(static (ex, resolver) =>
{
var console = resolver?.Resolve(typeof(IAnsiConsole)) as IAnsiConsole;
console?.WriteException(ex, ExceptionFormats.ShortenEverything);
return -99;
});
2025-03-08 19:31:56 -06:00
c.AddBranch("config", static c =>
{
c.AddCommand<AddConfigCommand>("add");
c.AddCommand<RemoveConfigCommand>("remove");
c.AddCommand<ListConfigCommand>("list");
2025-03-08 19:31:56 -06:00
});
});
2025-02-18 23:28:56 -06:00
return app;
}
}