0
0
mirror of https://github.com/vim/vim.git synced 2025-09-30 04:44:14 -04:00

patch 8.2.2493: text property for text left of window shows up

Problem:    Text property for text left of window shows up.
Solution:   Check if the text property ends before the current column.
            (closes #7806)
This commit is contained in:
Bram Moolenaar
2021-02-10 17:20:28 +01:00
parent b17ec4d427
commit f3fa18468c
5 changed files with 44 additions and 1 deletions

View File

@@ -1418,7 +1418,12 @@ win_line(
// Add any text property that starts in this column.
while (text_prop_next < text_prop_count
&& bcol >= text_props[text_prop_next].tp_col - 1)
text_prop_idxs[text_props_active++] = text_prop_next++;
{
if (bcol <= text_props[text_prop_next].tp_col - 1
+ text_props[text_prop_next].tp_len)
text_prop_idxs[text_props_active++] = text_prop_next;
++text_prop_next;
}
text_prop_attr = 0;
text_prop_combine = FALSE;

View File

@@ -0,0 +1,6 @@
>a+0&#ffffff0|l@1|e|r| |t|h|a|n| |4+0#ffffff16#e000002|5|6|7|.+0#0000000#ffffff0|X@58
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|1|,|2|1| @9|A|l@1|

View File

@@ -0,0 +1,6 @@
|X+0&#ffffff0@36>X| @36
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|1|,|1@2| @8|A|l@1|

View File

@@ -1049,6 +1049,30 @@ func Test_textprop_after_tab()
call delete('XtestPropTab')
endfunc
func Test_textprop_nowrap_scrolled()
CheckScreendump
let lines =<< trim END
vim9script
set nowrap
setline(1, 'The number 123 is smaller than 4567.' .. repeat('X', &columns))
prop_type_add('number', {'highlight': 'ErrorMsg'})
prop_add(1, 12, {'length': 3, 'type': 'number'})
prop_add(1, 32, {'length': 4, 'type': 'number'})
feedkeys('gg20zl', 'nxt')
END
call writefile(lines, 'XtestNowrap')
let buf = RunVimInTerminal('-S XtestNowrap', {'rows': 6})
call VerifyScreenDump(buf, 'Test_textprop_nowrap_01', {})
call term_sendkeys(buf, "$")
call VerifyScreenDump(buf, 'Test_textprop_nowrap_02', {})
" clean up
call StopVimInTerminal(buf)
call delete('XtestNowrap')
endfunc
func Test_textprop_with_syntax()
CheckScreendump

View File

@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
2493,
/**/
2492,
/**/