internal static IEnumerable <IFixer> GetFixers(TargetConfig config) { List <IFixer> fixers = new List <IFixer>(); if (config.RemoveNonprintableChars) { fixers.Add(new InvalidCharsFixer()); } if (config.LineEnding != null) { fixers.Add(new LineEndingsFixer(config.LineEnding.Value)); } if (config.Encoding != null) { fixers.Add(new FileEncodingFixer(config.Encoding)); } return(fixers.AsEnumerable()); }
internal static FiFiResult Run( TargetConfig config, FileSources sources) { var items = new List <FiFiFileResult>(); var fixers = GetFixers(config); foreach (var file in sources.All()) { if (Not.Processable(file, out Exception ex)) { continue; } foreach (var fixer in fixers) { fixer.Fix(file); } items.Add(new FiFiFileResult(file, Info(fixers))); } return(Results(items)); }
private FiFiRunner() { config = new TargetConfig(); files = FileSources.New(); }