kelleyma49 / PSFzf

A PowerShell wrapper around the fuzzy finder fzf
MIT License
750 stars 35 forks source link

`Ctrl+R` stopped working #235

Closed ArcusCerebellumus closed 7 months ago

ArcusCerebellumus commented 7 months ago

Ok. I just updated pwsh to 7.4.0 and, among other problems that I've been able to find workarounds to, Ctrl+R broke.

At first I thought that shell just doesn't know where the history file is because my paths are mangled... this would be going in line with a lot of other problems this pwsh update caused for me, but then I realised that HistorySearchBackward and HistorySearchForward work just fine, and since these functions presumably source the same file, my theory has gone out the window.

The current user experience looks like this: I press Ctrl+R as I used to, but instead of sweet goodness I just get re-prompted again... no error, nothing. At least in terminal there isn't - looking at the error log I get this:

$error                                                                                         14:36:22
InvalidOperation: You cannot call a method on a null-valued expression.
New-Object: Cannot find type [PSFzf.IO.ReverseLineReader]: verify that the assembly containing this type is loaded.

I also ran the unit test included with the module in case it might help:

Details

``` Describing Find-CurrentPath Context Function Exists [-] Should Return Nothing 228ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 20 [-] Should Return Nothing with Spaces Cursor at Beginning 53ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 28 [-] Should Return Nothing with Spaces Cursor at End 23ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 36 [-] Should Return Path Cursor at Beginning for Single Char 21ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 44 [-] Should Return Path Cursor at Beginning 21ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 52 [-] Should Return Path Cursor at End 21ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 60 [-] Should Return Command and Path Cursor at Beginning 21ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 68 [-] Should Return Command and Path Cursor at End 27ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 76 [-] Should Return Command and Path Cursor at End 22ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 84 [-] Should Return Path With Quotes Cursor at Beginning 24ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 94 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 90 [-] Should Return Path With Quotes Cursor at End 21ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 105 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 101 Describing Add-BinaryModuleTypes Context Module Loaded [-] Be Able to Create Type 45ms RuntimeException: '-Not' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 121 Describing Check FixCompletionResult Context Non-quoted Strings Should Not Change [-] Check Simple String 41ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 131 [-] Check Simple String with quote 21ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 134 Context Non-quoted Strings With Spaces Should Change [-] Check Simple String With Space 40ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 140 [-] Check Simple String with quote 20ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 143 Context Quoted Strings Should Not Change [-] Check Simple String With Space and Already Double Quoted 43ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 149 [-] Check Simple String With Space and Already Single Quoted 21ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 153 Describing Check Parameters Context Parameters Should Fail [-] Borders Should -Be Mutally Exclusive 36ms RuntimeException: '-Throw' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 163 [-] Validate Tiebreak 33ms RuntimeException: '-Throw' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 168 [-] Validate BorderStyle 20ms RuntimeException: '-Throw' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 173 [-] Validate Info 20ms RuntimeException: '-Throw' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 178 [-] Validate Height Pattern Percentage 20ms RuntimeException: '-Throw' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 183 [-] Validate Height Pattern Non-Number 19ms RuntimeException: '-Throw' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 188 [-] Validate Height Pattern Negative 19ms RuntimeException: '-Throw' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 193 [-] Validate MinHeight Pattern Non-Number 20ms RuntimeException: '-Throw' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 198 [-] Validate MinHeight Pattern Negative 19ms RuntimeException: '-Throw' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 203 Describing Get-EditorLaunch Context Vim [-] Should Return vim Single 59ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 230 [-] Should Return vim Single With Quotes 23ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 235 [-] Should Return vim Single With Options 22ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 241 [-] Should Return vim Single with Line Number 22ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 246 [-] Should Return vim Multiple 23ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 251 [-] Should Return vim Multiple With Quotes 23ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 256 [-] Should Return code Single 24ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 261 [-] Should Return code Single With Quotes 26ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 266 [-] Should Return code Single Reuse Window 22ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 272 [-] Should Return code Single with Line Number 21ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 277 [-] Should Return code Multiple 22ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 282 [-] Should Return code Multiple With Quotes 22ms RuntimeException: '-Be' is not a valid Should operator. at Get-TestResult, C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\Should.ps1: line 42 at , C:\Users\Arcus\Documents\PowerShell\Modules\PSFzf\2.5.19\PSFzf.tests.ps1: line 287 ```

PS: Sorry if I incorrectly presume that this is an issue and not a discussion topic...

ArcusCerebellumus commented 7 months ago

In case that whoever might be reading this is wondering, the problem wasn't either PWSH or PSFzf - it was Windows! My registry entry for the Profile location %USERPROFILE%\Documents somehow got mangled into %USERPROFILE%\Documents\ which resulted in a double \ when it got concatenated with relative paths. Still can't figure out how it happened and what caused it... probably never will.