forked from aniani/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.
This commit is contained in:
@@ -739,6 +739,32 @@ text_prop_position(
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Call screen_line() using values from "wlv".
|
||||
* Also takes care of putting "<<<" on the first line for 'smoothscroll'.
|
||||
*/
|
||||
static void
|
||||
wlv_screen_line(win_T *wp, winlinevars_T *wlv, int negative_width)
|
||||
{
|
||||
if (wlv->row == 0 && wp->w_skipcol > 0)
|
||||
{
|
||||
int off = (int)(current_ScreenLine - ScreenLines);
|
||||
|
||||
for (int i = 0; i < 3; ++i)
|
||||
{
|
||||
ScreenLines[off] = '<';
|
||||
if (enc_utf8)
|
||||
ScreenLinesUC[off] = 0;
|
||||
ScreenAttrs[off] = HL_ATTR(HLF_AT);
|
||||
++off;
|
||||
}
|
||||
}
|
||||
|
||||
screen_line(wp, wlv->screen_row, wp->w_wincol, wlv->col,
|
||||
negative_width ? -wp->w_width : wp->w_width,
|
||||
wlv->screen_line_flags);
|
||||
}
|
||||
|
||||
/*
|
||||
* Called when finished with the line: draw the screen line and handle any
|
||||
* highlighting until the right of the window.
|
||||
@@ -820,8 +846,7 @@ draw_screen_line(win_T *wp, winlinevars_T *wlv)
|
||||
}
|
||||
#endif
|
||||
|
||||
screen_line(wp, wlv->screen_row, wp->w_wincol, wlv->col,
|
||||
wp->w_width, wlv->screen_line_flags);
|
||||
wlv_screen_line(wp, wlv, FALSE);
|
||||
++wlv->row;
|
||||
++wlv->screen_row;
|
||||
}
|
||||
@@ -1730,8 +1755,7 @@ win_line(
|
||||
#endif
|
||||
)
|
||||
{
|
||||
screen_line(wp, wlv.screen_row, wp->w_wincol, wlv.col, -wp->w_width,
|
||||
wlv.screen_line_flags);
|
||||
wlv_screen_line(wp, &wlv, TRUE);
|
||||
// Pretend we have finished updating the window. Except when
|
||||
// 'cursorcolumn' is set.
|
||||
#ifdef FEAT_SYN_HL
|
||||
@@ -3670,13 +3694,12 @@ win_line(
|
||||
)
|
||||
{
|
||||
#ifdef FEAT_CONCEAL
|
||||
screen_line(wp, wlv.screen_row, wp->w_wincol,
|
||||
wlv.col - wlv.boguscols,
|
||||
wp->w_width, wlv.screen_line_flags);
|
||||
wlv.col += wlv.boguscols;
|
||||
wlv_screen_line(wp, &wlv, FALSE);
|
||||
wlv.col -= wlv.boguscols;
|
||||
wlv.boguscols = 0;
|
||||
#else
|
||||
screen_line(wp, wlv.screen_row, wp->w_wincol, wlv.col,
|
||||
wp->w_width, wlv.screen_line_flags);
|
||||
screen_line(wp, &wlv, FALSE);
|
||||
#endif
|
||||
++wlv.row;
|
||||
++wlv.screen_row;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
|w+0&#ffffff0|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d|
|
||||
|<+0#4040ff13#ffffff0@2|d+0#0000000&| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d|
|
||||
|w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @20
|
||||
|l|i|n|e| |t|h|r|e@1| @29
|
||||
|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d|
|
||||
|
@@ -1,4 +1,4 @@
|
||||
|w+0&#ffffff0|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @20
|
||||
|<+0#4040ff13#ffffff0@2|d+0#0000000&| |w|o|r|d| |w|o|r|d| |w|o|r|d| @20
|
||||
|l|i|n|e| |t|h|r|e@1| @29
|
||||
|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d|
|
||||
|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| @10
|
||||
|
@@ -1,4 +1,4 @@
|
||||
|w+0&#ffffff0|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @20
|
||||
|<+0#4040ff13#ffffff0@2|d+0#0000000&| |w|o|r|d| |w|o|r|d| |w|o|r|d| @20
|
||||
|l|i|n|e| |t|h|r|e@1| @29
|
||||
|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d|
|
||||
|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| @10
|
||||
|
@@ -1,4 +1,4 @@
|
||||
|w+0&#ffffff0|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d|
|
||||
|<+0#4040ff13#ffffff0@2|d+0#0000000&| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d|
|
||||
|w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @20
|
||||
|l|i|n|e| |t|h|r|e@1| @29
|
||||
|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d|
|
||||
|
@@ -699,6 +699,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
649,
|
||||
/**/
|
||||
648,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user