Fix the 'ArgumentOutOfRangeException' and 'IndexOutOfRangeException' when searching history with ctrl+r or ctrl+s #1256
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix #1083
When using
ctrl+r
andctrl+s
, it's not uncommon to find a history item with multi-line text, and the matching string in the text, where the cursor is supposed to be moved to, will be scrolled up-off the buffer after rendering.After rendering, if the cursor position to be set is already scrolled up-off the buffer (
point.Y < 0
), we should just move the cursor to the left-most position of the first line in buffer.Before this fix, only 2 very specific scenarios where this may happen was covered. This fix replaces that with a general solution.