public static AggregateManager?TryCreate(FindCommandOptions Options) { ModifyOptions modifyOptions = Options.ModifyOptions; bool shouldCreate = modifyOptions.HasFunction(ModifyFunctions.Except_Intersect_Group) || (modifyOptions.Aggregate && (modifyOptions.Modifier != null || modifyOptions.HasFunction(ModifyFunctions.Enumerable))); if (!shouldCreate) { return(null); } var storage = new ListResultStorage(); List <StorageSection>?sections = null; if (modifyOptions.HasFunction(ModifyFunctions.Except_Intersect)) { sections = new List <StorageSection>(); } else if ((Options.ContentFilter != null || Options.NameFilter != null) && modifyOptions.HasFunction(ModifyFunctions.Group)) { sections = new List <StorageSection>(); } return(new AggregateManager(storage, sections, Options)); }
private AggregateManager( ListResultStorage storage, List <StorageSection>?sections, FindCommandOptions options) { Storage = storage; Sections = sections; Options = options; }
private AggregateManager( ListResultStorage storage, List <StorageSection>?sections, FindCommandOptions options) { Storage = storage; Sections = sections; Options = options; if (ShouldLog(Verbosity.Minimal)) { PathWriter = new PathWriter( pathColors: Colors.Matched_Path, relativePath: Options.DisplayRelativePath, indent: " "); } }