private MiruCommandFactory GetCommandFactory(MiruCommandCreator commandCreator) { var factory = new MiruCommandFactory(commandCreator); RegisterAllTasks(factory); return(factory); }
public async Task RunAsync(string args) { System.Console.OutputEncoding = System.Text.Encoding.UTF8; using (var scope = _app.WithScope()) { var commandCreator = new MiruCommandCreator(scope); var factory = GetCommandFactory(commandCreator); var executor = new CommandExecutor(factory); if (args.IsNotEmpty()) { await executor.ExecuteAsync(args); } else { await executor.ExecuteAsync(_argsConfig.CliArgs); } } }
public CliMiruHost(IMiruApp app, MiruCommandCreator commandCreator, ArgsConfiguration argsConfig) { _app = app; _commandCreator = commandCreator; _argsConfig = argsConfig; }