aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/message.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2024-01-04 14:07:25 +0100
committerbfredl <bjorn.linse@gmail.com>2024-01-11 19:53:21 +0100
commit478b1af511b2ce9ecaeade910ce227b900b83429 (patch)
tree334cc7e14a57d688ddc4038dda678c04b2eb57d2 /src/nvim/message.c
parentd54156ed08b84e6c7f22334a4f3a4d4f84798604 (diff)
downloadrneovim-478b1af511b2ce9ecaeade910ce227b900b83429.tar.gz
rneovim-478b1af511b2ce9ecaeade910ce227b900b83429.tar.bz2
rneovim-478b1af511b2ce9ecaeade910ce227b900b83429.zip
refactor(screen): simplify grid_clear() and win_draw_end()
grid_put_linebuf() used grid_clear() internally to handle clearing the left part of a rightleft line. By reimplementing that internally, we can instead use grid_put_linebuf() as the implementation of grid_clear(), which in the end is a net reduction of code as grid_fill() is used for nothing else. win_draw_end: Implement "draw_margin" on a per-row basis which closer reflects how terminals work. Also use the magic mirror for 'rightleft'
Diffstat (limited to 'src/nvim/message.c')
-rw-r--r--src/nvim/message.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c
index 2b668db7cd..35cf7d71fb 100644
--- a/src/nvim/message.c
+++ b/src/nvim/message.c
@@ -204,6 +204,7 @@ void msg_grid_validate(void)
} else if (msg_grid.chars && !msg_scrolled && msg_grid_pos != max_rows) {
msg_grid_set_pos(max_rows, false);
}
+ msg_grid_adj.cols = Columns;
if (msg_grid.chars && !msg_scrolled && cmdline_row < msg_grid_pos) {
// TODO(bfredl): this should already be the case, but fails in some
@@ -2349,7 +2350,7 @@ void msg_scroll_flush(void)
for (int i = MAX(Rows - MAX(delta, 1), 0); i < Rows; i++) {
int row = i - msg_grid_pos;
assert(row >= 0);
- ui_line(&msg_grid, row, 0, msg_grid.dirty_col[row], msg_grid.cols,
+ ui_line(&msg_grid, row, false, 0, msg_grid.dirty_col[row], msg_grid.cols,
HL_ATTR(HLF_MSG), false);
msg_grid.dirty_col[row] = 0;
}