public FileArgParser() : this( new Dictionary <string, Func <Configuration, List <IScript> > >() { { "FILE", config => new List <IScript>(config.Args.Select(r => new ExternalScript(new FileInfo(r), TranslatorUtils.GetTranslatorByExtensionType(r)))) }, { "CHOCOLATEY", config => new List <IScript>() { new ChocolateyPackageManagerScript(config.Args) } }, { "SCOOP", config => new List <IScript>() { new ScoopPackageManagerScript(config.Args) } }, { "LITERAL", config => new List <IScript>(config.Args.Select(r => new LiteralScript(config.Args))) }, }, path => File.ReadAllText(path)) { }
public List <IScript> Parse(string arg) { List <IScript> scripts = new List <IScript>(); string[] filePaths = arg.Split(",", StringSplitOptions.RemoveEmptyEntries); List <ExternalScript> fileScripts = filePaths.Select(f => new ExternalScript(new FileInfo(f), TranslatorUtils.GetTranslatorByExtensionType(f))).ToList(); scripts.AddRange(fileScripts); return(scripts); }