2025-02-10 15:31:25 -06:00
|
|
|
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");
|
2025-03-10 21:45:46 -05:00
|
|
|
c.AddCommand<ListConfigCommand>("list");
|
2025-03-08 19:31:56 -06:00
|
|
|
});
|
|
|
|
|
});
|
2025-02-18 23:28:56 -06:00
|
|
|
|
2025-02-10 15:31:25 -06:00
|
|
|
return app;
|
|
|
|
|
}
|
|
|
|
|
}
|