public static IEnumerable <SearchItem> RunQuery(SearchExpressionContext c, string queryText) { using (var context = new SearchContext(c.search.GetProviders(), queryText, c.search.options | SearchFlags.QueryString)) using (var results = SearchService.Request(context)) foreach (var r in results) { yield return(r); } }
static IEnumerable <SearchItem> FetchScenes(SearchContext context, SearchProvider provider) { using (var findContext = SearchService.CreateContext("find", $"(*.unity) {context.searchQuery}")) using (var request = SearchService.Request(findContext)) { foreach (var r in request) { if (r == null) { yield return(null); } else { r.provider = provider; r.data = null; yield return(r); } } } }