mirror of
https://github.com/neovim/neovim.git
synced 2025-09-13 23:08:16 +00:00
perf: only redraw concealed line if cursor has moved horizontally
Building upon #17889, this moves conceal redrawing logic into move.c, so that concealed line is only redrawn if cursor has moved horizontally.
This commit is contained in:
@@ -1480,8 +1480,6 @@ bool edit(int cmdchar, bool startln, long count)
|
||||
/// @param ready not busy with something
|
||||
static void ins_redraw(bool ready)
|
||||
{
|
||||
bool conceal_cursor_moved = false;
|
||||
|
||||
if (char_avail()) {
|
||||
return;
|
||||
}
|
||||
@@ -1504,7 +1502,6 @@ static void ins_redraw(bool ready)
|
||||
update_curswant();
|
||||
ins_apply_autocmds(EVENT_CURSORMOVEDI);
|
||||
}
|
||||
conceal_cursor_moved = true;
|
||||
curwin->w_last_cursormoved = curwin->w_cursor;
|
||||
}
|
||||
|
||||
@@ -1560,11 +1557,6 @@ static void ins_redraw(bool ready)
|
||||
curbuf->b_changed_invalid = false;
|
||||
}
|
||||
|
||||
if (curwin->w_p_cole > 0 && conceal_cursor_line(curwin)
|
||||
&& conceal_cursor_moved) {
|
||||
redrawWinline(curwin, curwin->w_cursor.lnum);
|
||||
}
|
||||
|
||||
pum_check_clear();
|
||||
if (must_redraw) {
|
||||
update_screen(0);
|
||||
|
Reference in New Issue
Block a user