PSReadLine icon indicating copy to clipboard operation
PSReadLine copied to clipboard

ViMode: Yanking until given character

Open Konstantin-Glukhov opened this issue 2 years ago • 5 comments

Prerequisites

  • [X] Write a descriptive title.

Description of the new feature/enhancement

Yanking until given character for -ViMode Command

Proposed technical implementation details (optional)

<y,t> ViYankToBeforeChar Yanks until given character forward. <y,T> ViYankToBeforeCharBackward Yanks until given character backward. <y,f> ViYankToChar Yanks inclusively until given character forward. <y,F> ViYankToCharBackward Yanks inclusively until given character backward.

Konstantin-Glukhov avatar Jul 07 '23 01:07 Konstantin-Glukhov

If one wanted to implement this functionality using only methods from PSReadline, how would you programmatically access the register which is used in command mode to store the yanked text? I mean in the same way one can access the kill ring using only the psconsolereadline class.

matteocoder avatar Nov 03 '23 15:11 matteocoder

I am not sure. How are y0 and y$ implemented? Shouldn't be the same? First find a position of the searched character and then yank from current position to the found position?

Konstantin-Glukhov avatar Nov 07 '23 14:11 Konstantin-Glukhov

@Konstantin-Glukhov Thanks for the reply. My problem in particular is that I cannot find, looking at the documentation, a psreadline method like

[Microsoft.PowerShell.PSConsoleReadLine]::ViPlaceThisStringInTheViClipboard(<string>)

Implementing the motions seems already possible with the available methods, but it seems it is not possible to directly access the place where text is yanked. I'm happy to be proven wrong, though.

matteocoder avatar Nov 07 '23 14:11 matteocoder

Did you find how <y,$> is implemented?

Konstantin-Glukhov avatar Nov 07 '23 14:11 Konstantin-Glukhov

Not yet. I know nothing about C#, so it's kind of hard for me.

EDIT: the text is pasted to a private _viRegister, so it seems like it's not accessible from outside.

matteocoder avatar Nov 07 '23 14:11 matteocoder