public static void Run(RenderFromFileOptions o, RunTimeEnvironment rte, Helpers sys) { var ext = (Path.GetExtension(o.Arguments)).ToLowerInvariant(); var indirectOptions = new RenderOptions(); switch (ext) { case ".yaml": indirectOptions = sys.GetOrQuit( () => new Deserializer().Deserialize <RenderOptions>(File.ReadAllText(o.Arguments)), "Unable to load/parse argument file"); break; case ".json": indirectOptions = sys.GetOrQuit(() => JsonSerializer.Deserialize <RenderOptions>(File.ReadAllText(o.Arguments)), "Unable to load/parse argument file"); break; default: sys.ExitHandler($"unrecognised extension '{ext}' for arguments file"); return; } CmdRender.Run(indirectOptions, rte, sys); }
private static void Main(string[] args) { var rte = new RunTimeEnvironment(new FileSystemOperations()); var sys = new Helpers(); var result = Parser.Default .ParseArguments(args, typeof(RenderOptions), typeof(RenderFromFileOptions), typeof(CmdInfo.Options) ) .WithParsed <CmdInfo.Options>(o => CmdInfo.Run(o, rte).Wait()) .WithParsed <RenderOptions>(o => CmdRender.Run(o, rte, sys)) .WithParsed <RenderFromFileOptions>(o => CmdRenderFromFile.Run(o, rte, sys)) ; }
public static void Run(RenderOptions options, RunTimeEnvironment rte, Helpers sys) { var cmd = new CmdRender(options, rte, sys); cmd.Run(); }