fix(terminal): call validate_cursor() before screen update (#24425)

Problem:
When the CurSearch highlight group is set, and a search is active and
you are listening to the remote UI "win_viewport" events, then typing is
very unresponsive, because "win_viewport" is not sent as soon as the
character is typed. On the other hand if you refresh the screen on
"flush", the screen will scroll with a delay since "win_viewport" comes
too late. I estimate this delay be up to one second, but it varies. 

Solution:
Call validate_cursor() before drawing the screen, just like other modes.
No tests have been added because only the intermediate state is wrong.
This commit is contained in:
fredizzimo 2023-07-23 11:01:51 -04:00 committed by GitHub
parent 59289fb987
commit f2ce31d3dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -532,6 +532,7 @@ static int terminal_check(VimState *state)
}
terminal_check_cursor();
validate_cursor();
if (must_redraw) {
update_screen();