vim-patch:9.0.0649: no indication the first line is broken for 'smoothscroll'

Problem:    No indication when the first line is broken for 'smoothscroll'.
Solution:   Show "<<<" in the first line.

406b5d89e1

Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
Luuk van Baal 2023-04-26 13:11:33 +02:00
parent d6050e9bda
commit a43b28a34c
2 changed files with 13 additions and 4 deletions

View File

@ -503,6 +503,7 @@ void grid_put_linebuf(ScreenGrid *grid, int row, int coloff, int endcol, int cle
int col = 0;
bool redraw_next; // redraw_this for next character
bool clear_next = false;
bool topline = row == 0;
int char_cells; // 1: normal char
// 2: occupies two display cells
int start_dirty = -1, end_dirty = 0;
@ -529,6 +530,14 @@ void grid_put_linebuf(ScreenGrid *grid, int row, int coloff, int endcol, int cle
max_off_from = linebuf_size;
max_off_to = grid->line_offset[row] + (size_t)grid->cols;
if (topline && wp->w_skipcol > 0) {
// Take care of putting "<<<" on the first line for 'smoothscroll'.
for (int i = 0; i < 3; i++) {
schar_from_ascii(linebuf_char[i], '<');
linebuf_attr[i] = HL_ATTR(HLF_AT);
}
}
if (rlflag) {
// Clear rest first, because it's left of the text.
if (clear_width > 0) {

View File

@ -49,7 +49,7 @@ describe('smoothscroll', function()
|
]]
local s2 = [[
word word word word word word word word |
<<<d word word word word word word word |
word word word word |
line three |
long word long word long word long word |
@ -63,7 +63,7 @@ describe('smoothscroll', function()
|
]]
local s3 = [[
word word word word |
<<<d word word word |
line three |
long word long word long word long word |
long word long word long word |
@ -91,7 +91,7 @@ describe('smoothscroll', function()
|
]]
local s5 = [[
word word word word |
<<<d word word word |
line three |
long word long word long word long word |
long word long word long word |
@ -105,7 +105,7 @@ describe('smoothscroll', function()
|
]]
local s6 = [[
word word word word word word word word |
<<<d word word word word word word word |
word word word word |
line three |
long word long word long word long word |