You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm working on porting rustyline to typescript+xtermjs and I noticed in testing multiline handlnig that rustyline exhibits a lot of issues if the input happens to cause the terminal to scroll the top of the prompt away (i.e. the input ends up being > row height of the terminal).
There's a few ways to see symptoms of this:
Start a multiline prompt and add enough lines so that the prompt scrolls above the terminal window. Scroll up with the terminal and you will see that multiple prompts have been rendered, likely as an effect of how the refresh() code deals with refreshing a terminal.
Input enough lines so that the terminal prompt scrolls above the terminal window, and then arrow up. It is not possible to arrow up to the text that scrolled away.
Is this a limitation of how the virtual terminal handles cursor movement? i.e. not allowing the cursor to manipulate text that has scrolled? If so, I imagine this is not easy to fix without implementing state that understands what text should be displayed on the active terminal window and refreshing as the cursor scrolls the terminal.
The text was updated successfully, but these errors were encountered:
I'm working on porting rustyline to typescript+xtermjs and I noticed in testing multiline handlnig that rustyline exhibits a lot of issues if the input happens to cause the terminal to scroll the top of the prompt away (i.e. the input ends up being > row height of the terminal).
There's a few ways to see symptoms of this:
Is this a limitation of how the virtual terminal handles cursor movement? i.e. not allowing the cursor to manipulate text that has scrolled? If so, I imagine this is not easy to fix without implementing state that understands what text should be displayed on the active terminal window and refreshing as the cursor scrolls the terminal.
The text was updated successfully, but these errors were encountered: