Skip to content

Commit ca1802a

Browse files
author
Staffan Gustafsson
committed
Quoting paths
1 parent 1c0a94e commit ca1802a

1 file changed

Lines changed: 21 additions & 6 deletions

File tree

PSEverything/SearchEverythingCommand.cs

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,22 @@ private void AddPatternFilter(StringBuilder searchBuilder)
9090
}
9191
}
9292

93-
private static void AddListFilter(StringBuilder searchBuilder, string filterName, string[] include, string[] exclude = null, char separator = ' ')
93+
private static void AddPath(StringBuilder searchBuilder, string path)
94+
{
95+
if (path.IndexOf(' ') == -1)
96+
{
97+
searchBuilder.Append(path);
98+
}
99+
else
100+
{
101+
searchBuilder.Append('"');
102+
searchBuilder.Append(path);
103+
searchBuilder.Append('"');
104+
}
105+
}
106+
107+
108+
private static void AddListFilter(StringBuilder searchBuilder, string filterName, string[] include, string[] exclude = null, char separator = ' ')
94109
{
95110
if (include == null && exclude == null) return;
96111
searchBuilder.Append(' ');
@@ -99,7 +114,7 @@ private static void AddListFilter(StringBuilder searchBuilder, string filterName
99114
foreach (var item in include)
100115
{
101116
searchBuilder.Append(filterName);
102-
searchBuilder.Append(item);
117+
AddPath(searchBuilder, item);
103118
searchBuilder.Append(separator);
104119
}
105120

@@ -110,7 +125,7 @@ private static void AddListFilter(StringBuilder searchBuilder, string filterName
110125
{
111126
searchBuilder.Append(filterName);
112127
searchBuilder.Append('!');
113-
searchBuilder.Append(item);
128+
AddPath(searchBuilder, item);
114129
searchBuilder.Append(separator);
115130
}
116131
}
@@ -123,11 +138,11 @@ private void AddPathFilter(StringBuilder searchBuilder)
123138
if (!Global)
124139
{
125140
searchBuilder.Append(" path:");
126-
searchBuilder.Append(SessionState.Path.CurrentFileSystemLocation.ProviderPath);
141+
AddPath(searchBuilder, SessionState.Path.CurrentFileSystemLocation.ProviderPath);
127142
if(!SessionState.Path.CurrentFileSystemLocation.ProviderPath.EndsWith("\\")) {
128143
searchBuilder.Append('\\');
129-
}
130-
}
144+
}
145+
}
131146
}
132147

133148
void AddFileFilter(StringBuilder searchBuilder)

0 commit comments

Comments
 (0)