Esempio n. 1
0
        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;
 }
Esempio n. 3
0
        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: "  ");
            }
        }