DiscordChatExporter/DiscordChatExporter.Cli/Program.cs

35 lines
961 B
C#
Raw Normal View History

using System.Threading.Tasks;
using CliFx;
using DiscordChatExporter.Core.Services;
using StyletIoC;
namespace DiscordChatExporter.Cli
{
public static class Program
{
private static IContainer BuildContainer()
2018-01-12 16:29:16 -05:00
{
var builder = new StyletIoCBuilder();
2018-08-13 15:49:13 -04:00
// Autobind the .Services assembly
builder.Autobind(typeof(DataService).Assembly);
2018-08-13 15:49:13 -04:00
// Bind settings as singleton
builder.Bind<SettingsService>().ToSelf().InSingletonScope();
2018-08-13 15:49:13 -04:00
// Set instance
return builder.BuildContainer();
}
2018-08-13 17:49:32 -04:00
public static Task<int> Main(string[] args)
{
var container = BuildContainer();
2018-08-13 17:49:32 -04:00
return new CliApplicationBuilder()
.AddCommandsFromThisAssembly()
.UseCommandFactory(schema => (ICommand) container.Get(schema.Type))
.Build()
.RunAsync(args);
}
}
}