aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/drawscreen.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2023-09-26 14:28:58 +0200
committerbfredl <bjorn.linse@gmail.com>2023-09-27 11:31:45 +0200
commit10cabf787724871173a294f2fc1a5dbc62f2ee91 (patch)
tree1443073225d71a99828643fd0d04bc312edf7f61 /src/nvim/drawscreen.c
parent0b2667ed36d26f29683cae8c8a595b5633a7b77f (diff)
downloadrneovim-10cabf787724871173a294f2fc1a5dbc62f2ee91.tar.gz
rneovim-10cabf787724871173a294f2fc1a5dbc62f2ee91.tar.bz2
rneovim-10cabf787724871173a294f2fc1a5dbc62f2ee91.zip
refactor(grid): use batched updates for statusline and ruler
Diffstat (limited to 'src/nvim/drawscreen.c')
-rw-r--r--src/nvim/drawscreen.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c
index 04918e9979..f65146fd16 100644
--- a/src/nvim/drawscreen.c
+++ b/src/nvim/drawscreen.c
@@ -1094,8 +1094,11 @@ int showmode(void)
// If the current or last window has no status line and global statusline is disabled,
// the ruler is after the mode message and must be redrawn
win_T *ruler_win = curwin->w_status_height == 0 ? curwin : lastwin_nofloating();
- if (redrawing() && ruler_win->w_status_height == 0 && global_stl_height() == 0) {
+ if (redrawing() && ruler_win->w_status_height == 0 && global_stl_height() == 0
+ && !(p_ch == 0 && !ui_has(kUIMessages))) {
+ grid_line_start(&msg_grid_adj, Rows - 1);
win_redr_ruler(ruler_win);
+ grid_line_flush(false);
}
redraw_cmdline = false;