0
0
mirror of https://github.com/vim/vim.git synced 2025-09-30 04:44:14 -04:00

patch 8.1.2029: cannot control 'cursorline' highlighting well

Problem:    Cannot control 'cursorline' highlighting well.
Solution:   Add "screenline". (Christian Brabandt, closes #4933)
This commit is contained in:
Bram Moolenaar
2019-09-14 21:01:23 +02:00
parent d9b0d83b13
commit 017ba07fa2
33 changed files with 740 additions and 66 deletions

View File

@@ -1255,12 +1255,28 @@ main_loop(
update_topline();
validate_cursor();
#ifdef FEAT_SYN_HL
if (curwin->w_p_cul && curwin->w_p_wrap
&& (curwin->w_p_culopt_flags & CULOPT_SCRLINE))
must_redraw = NOT_VALID;
#endif
if (VIsual_active)
update_curbuf(INVERTED);/* update inverted part */
update_curbuf(INVERTED); // update inverted part
else if (must_redraw)
{
mch_disable_flush(); /* Stop issuing gui_mch_flush(). */
update_screen(0);
mch_disable_flush(); // Stop issuing gui_mch_flush().
#ifdef FEAT_SYN_HL
// Might need some more update for the cursorscreen line.
// TODO: can we optimize this?
if (curwin->w_p_cul
&& curwin->w_p_wrap
&& (curwin->w_p_culopt_flags & CULOPT_SCRLINE)
&& !char_avail())
update_screen(VALID);
else
#endif
update_screen(0);
mch_enable_flush();
}
else if (redraw_cmdline || clear_cmdline)