internal static List <Result> GetEnvironmentStringPathSuggestions(string querySearch, Query query, PluginInitContext context) { var results = new List <Result>(); var environmentVariables = LoadEnvironmentStringPaths(); var search = querySearch; if (querySearch.EndsWith("%") && search.Length > 1) { // query starts and ends with a %, find an exact match from env-string paths search = querySearch.Substring(1, search.Length - 2); if (environmentVariables.ContainsKey(search)) { var expandedPath = environmentVariables[search]; results.Add(ResultManager.CreateFolderResult($"%{search}%", expandedPath, expandedPath, query)); return(results); } } if (querySearch == "%") { search = ""; // Get all paths } else { search = search.Substring(1); } foreach (var p in environmentVariables) { if (p.Key.StartsWith(search, StringComparison.InvariantCultureIgnoreCase)) { results.Add(ResultManager.CreateFolderResult($"%{p.Key}%", p.Value, p.Value, query)); } } return(results); }