@@ -61,11 +61,9 @@ public List<Result> Query(Query query)
61
61
62
62
if ( basedir != null )
63
63
{
64
- var autocomplete = Directory . GetFileSystemEntries ( basedir ) .
65
- Select ( o => dir + Path . GetFileName ( o ) ) .
66
- Where ( o => o . StartsWith ( cmd , StringComparison . OrdinalIgnoreCase ) &&
67
- ! results . Any ( p => o . Equals ( p . Title , StringComparison . OrdinalIgnoreCase ) ) &&
68
- ! results . Any ( p => o . Equals ( p . Title , StringComparison . OrdinalIgnoreCase ) ) ) . ToList ( ) ;
64
+ var autocomplete = Directory . GetFileSystemEntries ( basedir ) . Select ( o => dir + Path . GetFileName ( o ) ) . Where ( o => o . StartsWith ( cmd , StringComparison . OrdinalIgnoreCase ) &&
65
+ ! results . Any ( p => o . Equals ( p . Title , StringComparison . OrdinalIgnoreCase ) ) &&
66
+ ! results . Any ( p => o . Equals ( p . Title , StringComparison . OrdinalIgnoreCase ) ) ) . ToList ( ) ;
69
67
autocomplete . Sort ( ) ;
70
68
results . AddRange ( autocomplete . ConvertAll ( m => new Result
71
69
{
@@ -78,7 +76,7 @@ public List<Result> Query(Query query)
78
76
c . SpecialKeyState . ShiftPressed &&
79
77
! c . SpecialKeyState . AltPressed &&
80
78
! c . SpecialKeyState . WinPressed
81
- ) ;
79
+ ) ;
82
80
83
81
Execute ( Process . Start , PrepareProcessStartInfo ( m , runAsAdministrator ) ) ;
84
82
return true ;
@@ -118,7 +116,7 @@ private List<Result> GetHistoryCmds(string cmd, Result result)
118
116
c . SpecialKeyState . ShiftPressed &&
119
117
! c . SpecialKeyState . AltPressed &&
120
118
! c . SpecialKeyState . WinPressed
121
- ) ;
119
+ ) ;
122
120
123
121
Execute ( Process . Start , PrepareProcessStartInfo ( m . Key , runAsAdministrator ) ) ;
124
122
return true ;
@@ -148,7 +146,7 @@ private Result GetCurrentCmd(string cmd)
148
146
c . SpecialKeyState . ShiftPressed &&
149
147
! c . SpecialKeyState . AltPressed &&
150
148
! c . SpecialKeyState . WinPressed
151
- ) ;
149
+ ) ;
152
150
153
151
Execute ( Process . Start , PrepareProcessStartInfo ( cmd , runAsAdministrator ) ) ;
154
152
return true ;
@@ -173,7 +171,7 @@ private List<Result> ResultsFromlHistory()
173
171
c . SpecialKeyState . ShiftPressed &&
174
172
! c . SpecialKeyState . AltPressed &&
175
173
! c . SpecialKeyState . WinPressed
176
- ) ;
174
+ ) ;
177
175
178
176
Execute ( Process . Start , PrepareProcessStartInfo ( m . Key , runAsAdministrator ) ) ;
179
177
return true ;
@@ -195,16 +193,18 @@ private ProcessStartInfo PrepareProcessStartInfo(string command, bool runAsAdmin
195
193
196
194
ProcessStartInfo info = new ( )
197
195
{
198
- Verb = runAsAdministratorArg ,
199
- WorkingDirectory = workingDirectory ,
196
+ Verb = runAsAdministratorArg , WorkingDirectory = workingDirectory ,
200
197
} ;
201
198
switch ( _settings . Shell )
202
199
{
203
200
case Shell . Cmd :
204
201
{
205
202
info . FileName = "cmd.exe" ;
206
- info . ArgumentList . Add ( _settings . LeaveShellOpen ? "/k" : "/c" ) ;
207
- info . ArgumentList . Add ( command ) ;
203
+ info . Arguments = $ "{ ( _settings . LeaveShellOpen ? "/k" : "/c" ) } { command } ";
204
+
205
+ // ArgumentList may break original shell command separation with quote.
206
+ // info.ArgumentList.Add(_settings.LeaveShellOpen ? "/k" : "/c");
207
+ // info.ArgumentList.Add(command);
208
208
break ;
209
209
}
210
210
@@ -226,7 +226,10 @@ private ProcessStartInfo PrepareProcessStartInfo(string command, bool runAsAdmin
226
226
227
227
case Shell . RunCommand :
228
228
{
229
- var parts = command . Split ( new [ ] { ' ' } , 2 ) ;
229
+ var parts = command . Split ( new [ ]
230
+ {
231
+ ' '
232
+ } , 2 ) ;
230
233
if ( parts . Length == 2 )
231
234
{
232
235
var filename = parts [ 0 ] ;
@@ -366,7 +369,7 @@ public List<Result> LoadContextMenus(Result selectedResult)
366
369
Title = context . API . GetTranslation ( "flowlauncher_plugin_cmd_run_as_different_user" ) ,
367
370
Action = c =>
368
371
{
369
- Task . Run ( ( ) => Execute ( ShellCommand . RunAsDifferentUser , PrepareProcessStartInfo ( selectedResult . Title ) ) ) ;
372
+ Task . Run ( ( ) => Execute ( ShellCommand . RunAsDifferentUser , PrepareProcessStartInfo ( selectedResult . Title ) ) ) ;
370
373
return true ;
371
374
} ,
372
375
IcoPath = "Images/user.png"
@@ -396,4 +399,4 @@ public List<Result> LoadContextMenus(Result selectedResult)
396
399
return resultlist ;
397
400
}
398
401
}
399
- }
402
+ }
0 commit comments