aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2023-09-26 14:01:57 +0200
committerbfredl <bjorn.linse@gmail.com>2023-09-26 21:27:05 +0200
commit3689bcb7631dd6921a3f82ccf891ec70b9748454 (patch)
tree83362456254a6e96b0ca06ceb104963100be7d48
parent4db77017fb7ab9321817674a5f5533df4cd03f3f (diff)
downloadrneovim-3689bcb7631dd6921a3f82ccf891ec70b9748454.tar.gz
rneovim-3689bcb7631dd6921a3f82ccf891ec70b9748454.tar.bz2
rneovim-3689bcb7631dd6921a3f82ccf891ec70b9748454.zip
refactor(grid): use batched updates for horizontal wildmenu
-rw-r--r--src/nvim/cmdexpand.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/nvim/cmdexpand.c b/src/nvim/cmdexpand.c
index 1e088ec7fc..4da6c3c8ba 100644
--- a/src/nvim/cmdexpand.c
+++ b/src/nvim/cmdexpand.c
@@ -598,17 +598,17 @@ static void redraw_wildmenu(expand_T *xp, int num_matches, char **matches, int m
// Tricky: wildmenu can be drawn either over a status line, or at empty
// scrolled space in the message output
- ScreenGrid *grid = (wild_menu_showing == WM_SCROLLED)
- ? &msg_grid_adj : &default_grid;
+ grid_line_start((wild_menu_showing == WM_SCROLLED) ? &msg_grid_adj : &default_grid, row);
- grid_puts(grid, buf, -1, row, 0, attr);
+ grid_line_puts(0, buf, -1, attr);
if (selstart != NULL && highlight) {
*selend = NUL;
- grid_puts(grid, selstart, -1, row, selstart_col, HL_ATTR(HLF_WM));
+ grid_line_puts(selstart_col, selstart, -1, HL_ATTR(HLF_WM));
}
- grid_fill(grid, row, row + 1, clen, Columns,
- fillchar, fillchar, attr);
+ grid_line_fill(clen, Columns, fillchar, attr);
+
+ grid_line_flush(false);
}
win_redraw_last_status(topframe);