@@ -20,44 +20,47 @@ Invoke-PSRun
2020function Invoke-PSRun {
2121 [CmdletBinding ()]
2222 param (
23+ [Parameter (ValueFromPipelineByPropertyName = $true )]
2324 [String ]$InitialQuery
2425 )
2526
26- $script :globalStore.UpdateEntries ()
27- if ($script :globalStore.entries.Count -eq 0 ) {
28- Write-Error - Message ' There is no entry.' - Category InvalidOperation
29- return
30- }
27+ process {
28+ $script :globalStore.UpdateEntries ()
29+ if ($script :globalStore.entries.Count -eq 0 ) {
30+ Write-Error - Message ' There is no entry.' - Category InvalidOperation
31+ return
32+ }
3133
32- if ($InitialQuery ) {
33- $prevContext = [PowerShellRun.SelectorContext ]::new()
34- $prevContext.Query = $InitialQuery
35- } else {
36- $prevContext = $null
37- }
34+ if ($InitialQuery ) {
35+ $prevContext = [PowerShellRun.SelectorContext ]::new()
36+ $prevContext.Query = $InitialQuery
37+ } else {
38+ $prevContext = $null
39+ }
3840
39- while ($true ) {
40- $mode = [PowerShellRun.SelectorMode ]::SingleSelection
41- $result = [PowerShellRun.Selector ]::Open($script :globalStore.entries , $mode , $script :globalStore.psRunSelectorOption , $prevContext )
42- $prevContext = $result.Context
41+ while ($true ) {
42+ $mode = [PowerShellRun.SelectorMode ]::SingleSelection
43+ $result = [PowerShellRun.Selector ]::Open($script :globalStore.entries , $mode , $script :globalStore.psRunSelectorOption , $prevContext )
44+ $prevContext = $result.Context
4345
44- if ($result.FocusedEntry ) {
45- $callback = $result.FocusedEntry.UserData.ScriptBlock
46- $argumentList = @ {
47- Result = $result
48- ArgumentList = $result.FocusedEntry.UserData.ArgumentList
46+ if ($result.FocusedEntry ) {
47+ $callback = $result.FocusedEntry.UserData.ScriptBlock
48+ $argumentList = @ {
49+ Result = $result
50+ ArgumentList = $result.FocusedEntry.UserData.ArgumentList
51+ }
52+ & $callback $argumentList
53+
54+ if ([PowerShellRun.ExitStatus ]::Type -eq [PowerShellRun.ExitType ]::QuitWithBackspaceOnEmptyQuery) {
55+ continue
56+ }
4957 }
50- & $callback $argumentList
5158
52- if ([PowerShellRun.ExitStatus ]::Type -eq [PowerShellRun.ExitType ]::QuitWithBackspaceOnEmptyQuery) {
59+ if ([PowerShellRun.ExitStatus ]::Type -eq [PowerShellRun.ExitType ]::Restart) {
60+ $prevContext = $null
5361 continue
5462 }
63+ break
5564 }
56-
57- if ([PowerShellRun.ExitStatus ]::Type -eq [PowerShellRun.ExitType ]::Restart) {
58- $prevContext = $null
59- continue
60- }
61- break
6265 }
6366}
0 commit comments