mirror of
https://github.com/vim/vim.git
synced 2025-10-17 07:44:28 -04:00
patch 9.0.1836: display wrong with virttext, linebreak and breakindent
Problem: Wrong display with "above" virtual text and 'linebreak' or 'breakindent' and 'showbreak'. Solution: Exclude size of "above" virtual text when calculating them. closes: #13000 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
This commit is contained in:
committed by
Christian Brabandt
parent
7a9d1aa878
commit
ce53e3ea55
@@ -1650,6 +1650,18 @@ win_line(
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_LINEBREAK) || defined(FEAT_PROP_POPUP)
|
||||
colnr_T vcol_first_char = 0;
|
||||
if (wp->w_p_lbr && !number_only)
|
||||
{
|
||||
chartabsize_T cts;
|
||||
init_chartabsize_arg(&cts, wp, lnum, 0, line, line);
|
||||
(void)win_lbr_chartabsize(&cts, NULL);
|
||||
vcol_first_char = cts.cts_first_char;
|
||||
clear_chartabsize_arg(&cts);
|
||||
}
|
||||
#endif
|
||||
|
||||
// 'nowrap' or 'wrap' and a single line that doesn't fit: Advance to the
|
||||
// first character to be displayed.
|
||||
if (wp->w_p_wrap)
|
||||
@@ -2879,7 +2891,11 @@ win_line(
|
||||
char_u *p = ptr - (mb_off + 1);
|
||||
chartabsize_T cts;
|
||||
|
||||
init_chartabsize_arg(&cts, wp, lnum, wlv.vcol, line, p);
|
||||
init_chartabsize_arg(&cts, wp, lnum, wlv.vcol
|
||||
# ifdef FEAT_PROP_POPUP
|
||||
- vcol_first_char,
|
||||
# endif
|
||||
line, p);
|
||||
# ifdef FEAT_PROP_POPUP
|
||||
// do not want virtual text counted here
|
||||
cts.cts_has_prop_with_text = FALSE;
|
||||
|
Reference in New Issue
Block a user