public Task <bool> TryLoad() { AppSearchFrequency.Load(); foreach (var file in LoadFileList()) { var name = Path.GetFileName(file.ToLower()); _trie.Add(name, file); if (!file.Contains(" ")) { continue; } // Support search for "Mozilla Firefox" through both "Mozilla" and "Firefox" var variations = name.Split(" "); foreach (var variation in variations) { _trie.Add(variation, file); } // Support "Visual Studio Code" -> "VSC" if (variations.Length > 1) { var fuzz = string.Join(',', variations.Select(part => part[0]).ToArray()).Replace(",", ""); _trie.Add(fuzz, file); } } IsLoaded = true; return(Task.FromResult(IsLoaded)); }
public async IAsyncEnumerable <AbstractQueryResult> Process(Query query) { var rawQuery = query.RawQuery.ToLower(); LastQuery = rawQuery; foreach (var result in _trie.Retrieve(rawQuery) .OrderByDescending(entry => AppSearchFrequency.FrequencyOfFor(rawQuery, entry))) { yield return(new AppResult(result)); } }
public bool TryLoad() { AppSearchFrequency.Load(); foreach (var file in LoadFileList()) { var name = Path.GetFileName(file.ToLower()); _trie.Add(name, file); // Support search for "Mozilla Firefox" through both "Mozilla" and "Firefox" if (file.Contains(" ")) { var variations = name.Split(" "); foreach (var variation in variations) { _trie.Add(variation, file); } } } return(true); }
public override void OnSelect() { AppSearchFrequency.Track(AppSearchPlugin.LastQuery, _filePath); Process.Start("explorer.exe", "\"" + _filePath + "\""); }
public override void OnSelect() { AppSearchFrequency.Track(_query, _app.FilePath); _app.Open(); }
public void Unload() { _trie = null; AppSearchFrequency.Reset(); }