using System; using System.Collections.Generic; using System.Linq; namespace Flow.Launcher.Plugin.Explorer.Search.FolderLinks { public class QuickFolderAccess { private readonly ResultManager _resultManager; public QuickFolderAccess(PluginInitContext context) { _resultManager = new ResultManager(context); } internal List FolderListMatched(Query query, List folderLinks) { if (string.IsNullOrEmpty(query.Search)) return new List(); string search = query.Search.ToLower(); var queriedFolderLinks = folderLinks.Where(x => x.Nickname.StartsWith(search, StringComparison.OrdinalIgnoreCase)); return queriedFolderLinks.Select(item => _resultManager.CreateFolderResult(item.Nickname, item.Path, item.Path, query)) .ToList(); } internal List FolderListAll(Query query, List folderLinks) => folderLinks .Select(item => _resultManager.CreateFolderResult(item.Nickname, item.Path, item.Path, query)) .ToList(); } }