Skip to content

Commit d6b4b40

Browse files
committed
Merge branch 'dev' into update_uI_hotkey_actionkeyword
2 parents d183b98 + 50e0ca3 commit d6b4b40

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ public static class EnvironmentVariables
1010
{
1111
internal static bool IsEnvironmentVariableSearch(string search)
1212
{
13-
return LoadEnvironmentStringPaths().Count > 0 && search.StartsWith("%") && !search.Substring(1).Contains("%");
13+
return LoadEnvironmentStringPaths().Count > 0
14+
&& search.StartsWith("%")
15+
&& search != "%%"
16+
&& !search.Contains("\\");
1417
}
1518

1619
internal static Dictionary<string, string> LoadEnvironmentStringPaths()

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

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,23 @@ internal List<Result> Search(Query query)
3939
if (quickFolderLinks.Count > 0)
4040
return quickFolderLinks;
4141

42-
if (string.IsNullOrEmpty(query.Search))
42+
if (string.IsNullOrEmpty(querySearch))
4343
return results;
4444

45-
if (!FilesFolders.IsLocationPathString(querySearch))
46-
return WindowsIndexFilesAndFoldersSearch(query, querySearch);
47-
48-
var locationPath = query.Search;
45+
var isEnvironmentVariable = EnvironmentVariables.IsEnvironmentVariableSearch(querySearch);
4946

50-
if (EnvironmentVariables.IsEnvironmentVariableSearch(locationPath))
51-
return EnvironmentVariables.GetEnvironmentStringPathSuggestions(locationPath, query, context);
47+
if (isEnvironmentVariable)
48+
return EnvironmentVariables.GetEnvironmentStringPathSuggestions(querySearch, query, context);
5249

5350
// Query is a location path with a full environment variable, eg. %appdata%\somefolder\
54-
if (locationPath.Substring(1).Contains("%"))
51+
var isEnvironmentVariablePath = querySearch.Substring(1).Contains("%\\");
52+
53+
if (!FilesFolders.IsLocationPathString(querySearch) && !isEnvironmentVariablePath)
54+
return WindowsIndexFilesAndFoldersSearch(query, querySearch);
55+
56+
var locationPath = querySearch;
57+
58+
if (isEnvironmentVariablePath)
5559
locationPath = EnvironmentVariables.TranslateEnvironmentVariablePath(locationPath);
5660

5761
if (!FilesFolders.LocationExists(FilesFolders.ReturnPreviousDirectoryIfIncompleteString(locationPath)))

0 commit comments

Comments
 (0)