using CommandDotNet.NameCasing; using CommandDotNet; using Microsoft.Extensions.DependencyInjection; using CommandDotNet.IoC.MicrosoftDependencyInjection; namespace EnvelopeGenerator.Terminal; public static class DependencyInjection { public static IServiceCollection AddCommandManagerRunner(this IServiceCollection services, Case @case = Case.KebabCase) { return services .AddSingleton() .AddSingleton(sp => { var runner = new AppRunner(); runner.UseMicrosoftDependencyInjection(sp); runner.UseNameCasing(@case); return runner; }); } public static Task RunCommandManagerRunner(this IServiceProvider provider, string[] args) { var runner = provider.GetRequiredService>(); return runner.RunAsync(args); } }