mirror of
https://github.com/vim/vim.git
synced 2025-12-10 18:46:57 -05:00
patch 9.1.1922: Wrong virtcol('$') with virtual text at EOL
Problem: Wrong virtcol('$') with virtual text at EOL (rickhowe).
Solution: Also add 1 to end virtcol when there is virtual text.
(zeertzjq)
fixes: #18761
closes: #18762
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
6aac706232
commit
d434f6c2a5
@ -1702,8 +1702,7 @@ getvcol(
|
||||
{
|
||||
incr = 1; // NUL at end of line only takes one column
|
||||
#ifdef FEAT_PROP_POPUP
|
||||
if (cts.cts_cur_text_width > 0)
|
||||
incr = cts.cts_cur_text_width;
|
||||
incr += cts.cts_cur_text_width;
|
||||
on_NUL = TRUE;
|
||||
#endif
|
||||
break;
|
||||
|
||||
@ -4403,6 +4403,22 @@ func Test_text_eol_long_wrap_smoothscroll()
|
||||
call StopVimInTerminal(buf)
|
||||
endfunc
|
||||
|
||||
func Test_text_eol_virtcol()
|
||||
new
|
||||
call prop_type_add('test', #{highlight: 'ErrorMsg'})
|
||||
call setline(1, repeat(['1234567890'], 6))
|
||||
|
||||
for [ln, tx] in [[2, 'a'], [3, 'ab'], [4, 'abc'], [5, 'abcd'], [6, 'αβγ口']]
|
||||
let co = col([ln, '$'])
|
||||
call assert_equal(11, virtcol([ln, '$']))
|
||||
call prop_add(ln, co, #{type: 'test', text: tx})
|
||||
call assert_equal(11 + strwidth(tx), virtcol([ln, '$']))
|
||||
endfor
|
||||
|
||||
bwipe!
|
||||
call prop_type_delete('test')
|
||||
endfunc
|
||||
|
||||
func Test_text_below_nowrap()
|
||||
CheckScreendump
|
||||
CheckRunVimInTerminal
|
||||
|
||||
@ -729,6 +729,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1922,
|
||||
/**/
|
||||
1921,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user