From 1bfd147421b47c8c618e0f9ca8280f90f29799f7 Mon Sep 17 00:00:00 2001 From: Diego Henrique <124473653+01Dri@users.noreply.github.com> Date: Mon, 20 Oct 2025 22:12:45 -0300 Subject: [PATCH] BUG: Explorer plugin navigate path should only show results in current path (#4053) --- .../Search/SearchManager.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs index f9d8963e6..d7b069082 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs @@ -57,19 +57,16 @@ namespace Flow.Launcher.Plugin.Explorer.Search { if (string.IsNullOrEmpty(query.Search) && ActionKeywordMatch(query, Settings.ActionKeyword.QuickAccessActionKeyword)) return QuickAccess.AccessLinkListAll(query, Settings.QuickAccessLinks); - - var quickAccessLinks = QuickAccess.AccessLinkListMatched(query, Settings.QuickAccessLinks); - - results.UnionWith(quickAccessLinks); } else { + // No action keyword matched- plugin should not handle this query, return empty results. return new List(); } IAsyncEnumerable searchResults; - bool isPathSearch = query.Search.IsLocationPathString() + bool isPathSearch = query.Search.IsLocationPathString() || EnvironmentVariables.IsEnvironmentVariableSearch(query.Search) || EnvironmentVariables.HasEnvironmentVar(query.Search); @@ -103,10 +100,18 @@ namespace Flow.Launcher.Plugin.Explorer.Search searchResults = Settings.IndexProvider.SearchAsync(query.Search, token); engineName = Enum.GetName(Settings.IndexSearchEngine); break; + + case true or false + when ActionKeywordMatch(query, Settings.ActionKeyword.QuickAccessActionKeyword): + return QuickAccess.AccessLinkListMatched(query, Settings.QuickAccessLinks); + default: return results.ToList(); } + // Merge Quick Access Link results for non-path searches. + results.UnionWith(QuickAccess.AccessLinkListMatched(query, Settings.QuickAccessLinks)); + try { await foreach (var search in searchResults.WithCancellation(token).ConfigureAwait(false))