Mercurial > vim
diff src/charset.c @ 33021:2b47322be0d1 v9.0.1802
patch 9.0.1802: Multiline regex with Visual selection fails with virtual text
Commit: https://github.com/vim/vim/commit/e3daa06be1a3ba7ced0735582467d092275e591c
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sun Aug 27 19:11:46 2023 +0200
patch 9.0.1802: Multiline regex with Visual selection fails with virtual text
Problem: Multiline regex with Visual selection fails when Visual
selection contains virtual text after last char.
Solution: Only include virtual text after last char when getting full
line length.
closes: #12908
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 27 Aug 2023 19:15:09 +0200 |
parents | 7d0357f70cf8 |
children | 0561bf3ba10c |
line wrap: on
line diff
--- a/src/charset.c +++ b/src/charset.c @@ -809,7 +809,7 @@ win_linetabsize_cts(chartabsize_T *cts, cts->cts_vcol += win_lbr_chartabsize(cts, NULL); #ifdef FEAT_PROP_POPUP // check for a virtual text at the end of a line or on an empty line - if (cts->cts_has_prop_with_text && *cts->cts_ptr == NUL) + if (len == MAXCOL && cts->cts_has_prop_with_text && *cts->cts_ptr == NUL) { (void)win_lbr_chartabsize(cts, NULL); cts->cts_vcol += cts->cts_cur_text_width; @@ -1196,8 +1196,7 @@ win_lbr_chartabsize( || (tp->tp_col == MAXCOL && ((tp->tp_flags & TP_FLAG_ALIGN_ABOVE) ? col == 0 - : s[0] == NUL - && cts->cts_with_trailing))) + : s[0] == NUL && cts->cts_with_trailing))) && -tp->tp_id - 1 < gap->ga_len) { char_u *p = ((char_u **)gap->ga_data)[-tp->tp_id - 1];