using System; using System.Drawing; using System.Threading.Tasks; using CliFx; using DiscordChatExporter.Cli.Commands; using DiscordChatExporter.Core.Services; using Microsoft.Extensions.DependencyInjection; namespace DiscordChatExporter.Cli { public static class Program { private static IServiceProvider ConfigureServices() { var services = new ServiceCollection(); // Register services services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); // Register commands services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); return services.BuildServiceProvider(); } public static async Task Main(string[] args) { var serviceProvider = ConfigureServices(); return await new CliApplicationBuilder() .AddCommandsFromThisAssembly() .UseTypeActivator(serviceProvider.GetService) .Build() .RunAsync(args); } } }