Skip to content

Commit 1bfd147

Browse files
authored
BUG: Explorer plugin navigate path should only show results in current path (#4053)
1 parent da4b961 commit 1bfd147

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,19 +57,16 @@ internal async Task<List<Result>> SearchAsync(Query query, CancellationToken tok
5757
{
5858
if (string.IsNullOrEmpty(query.Search) && ActionKeywordMatch(query, Settings.ActionKeyword.QuickAccessActionKeyword))
5959
return QuickAccess.AccessLinkListAll(query, Settings.QuickAccessLinks);
60-
61-
var quickAccessLinks = QuickAccess.AccessLinkListMatched(query, Settings.QuickAccessLinks);
62-
63-
results.UnionWith(quickAccessLinks);
6460
}
6561
else
6662
{
63+
// No action keyword matched- plugin should not handle this query, return empty results.
6764
return new List<Result>();
6865
}
6966

7067
IAsyncEnumerable<SearchResult> searchResults;
7168

72-
bool isPathSearch = query.Search.IsLocationPathString()
69+
bool isPathSearch = query.Search.IsLocationPathString()
7370
|| EnvironmentVariables.IsEnvironmentVariableSearch(query.Search)
7471
|| EnvironmentVariables.HasEnvironmentVar(query.Search);
7572

@@ -103,10 +100,18 @@ when ActionKeywordMatch(query, Settings.ActionKeyword.IndexSearchActionKeyword)
103100
searchResults = Settings.IndexProvider.SearchAsync(query.Search, token);
104101
engineName = Enum.GetName(Settings.IndexSearchEngine);
105102
break;
103+
104+
case true or false
105+
when ActionKeywordMatch(query, Settings.ActionKeyword.QuickAccessActionKeyword):
106+
return QuickAccess.AccessLinkListMatched(query, Settings.QuickAccessLinks);
107+
106108
default:
107109
return results.ToList();
108110
}
109111

112+
// Merge Quick Access Link results for non-path searches.
113+
results.UnionWith(QuickAccess.AccessLinkListMatched(query, Settings.QuickAccessLinks));
114+
110115
try
111116
{
112117
await foreach (var search in searchResults.WithCancellation(token).ConfigureAwait(false))

0 commit comments

Comments
 (0)