@@ -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