test(extmarks): add test for virt_text_win_col with cpo+=n (#24328)

This commit is contained in:
zeertzjq 2023-07-13 07:02:06 +08:00 committed by GitHub
parent 317c80f460
commit 9359701eae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 48 additions and 8 deletions

View File

@ -2615,15 +2615,16 @@ nvim_buf_set_extmark({buffer}, {ns_id}, {line}, {col}, {*opts})
string or as an integer, the latter which can be obtained
using |nvim_get_hl_id_by_name()|.
• virt_text_pos : position of virtual text. Possible values:
• "eol": right after eol character (default)
• "eol": right after eol character (default).
• "overlay": display over the specified column, without
shifting the underlying text.
• "right_align": display right aligned in the window.
• "inline": display at the specified column, and shift the
buffer text to the right as needed
buffer text to the right as needed.
• virt_text_win_col : position the virtual text at a fixed
window column (starting from the first text column)
window column (starting from the first text column of the
screen line) instead of "virt_text_pos".
• virt_text_hide : hide the virtual text when the background
text is selected or hidden because of scrolling with
'nowrap' or 'smoothscroll'. Currently only affects

View File

@ -473,15 +473,16 @@ Array nvim_buf_get_extmarks(Buffer buffer, Integer ns_id, Object start, Object e
/// either as a string or as an integer, the latter which
/// can be obtained using |nvim_get_hl_id_by_name()|.
/// - virt_text_pos : position of virtual text. Possible values:
/// - "eol": right after eol character (default)
/// - "eol": right after eol character (default).
/// - "overlay": display over the specified column, without
/// shifting the underlying text.
/// - "right_align": display right aligned in the window.
/// - "inline": display at the specified column, and
/// shift the buffer text to the right as needed
/// shift the buffer text to the right as needed.
/// - virt_text_win_col : position the virtual text at a fixed
/// window column (starting from the first
/// text column)
/// text column of the screen line) instead
/// of "virt_text_pos".
/// - virt_text_hide : hide the virtual text when the background
/// text is selected or hidden because of
/// scrolling with 'nowrap' or 'smoothscroll'.

View File

@ -1130,7 +1130,45 @@ describe('extmark decorations', function()
|
]]}
command 'set nowrap'
command 'set number'
screen:expect{grid=[[
{2: 1 }for _,item in ipairs(items) do |
{2: 2 } local text, hl_id_cell, cou{4:Very} unpack{4:VERY}|
{2: }m) |
{2: 3 } if |
{2: 4 }hl_id_cell ~= nil then {4:Much} {4:MUCH}|
{2: 5 } --^ -- -- -- -- -- -- -- -- -- -- -- hl|
{2: }_id = hl_id_cell {4:Error} {4:ERROR}|
{2: 6 } end |
{2: 7 } for _ = 1, (count or 1) do |
{2: 8 } local cell = line[colpos] |
{2: 9 } {1:-} cell.text = text {1:-}|
{2: 10 } cell.hl_id = hl_id |
{2: 11 } colpos = colpos+1 |
{2: 12 } end |
|
]]}
command 'set cpoptions+=n'
screen:expect{grid=[[
{2: 1 }for _,item in ipairs(items) do |
{2: 2 } local text, hl_id_cell, cou{4:Very} unpack{4:VERY}|
m) |
{2: 3 } if |
{2: 4 }hl_id_cell ~= nil then {4:Much} {4:MUCH}|
{2: 5 } --^ -- -- -- -- -- -- -- -- -- -- -- hl|
_id = hl_id_cell {4:Error} {4:ERROR}|
{2: 6 } end |
{2: 7 } for _ = 1, (count or 1) do |
{2: 8 } local cell = line[colpos] |
{2: 9 } {1:-} cell.text = text {1:-}|
{2: 10 } cell.hl_id = hl_id |
{2: 11 } colpos = colpos+1 |
{2: 12 } end |
|
]]}
command 'set cpoptions-=n nonumber nowrap'
screen:expect{grid=[[
for _,item in ipairs(items) do |
local text, hl_id_cell, cou{4:Very} unpack(ite{4:VERY}|
@ -1149,7 +1187,7 @@ describe('extmark decorations', function()
|
]]}
feed('8zl')
feed '8zl'
screen:expect{grid=[[
em in ipairs(items) do |
l text, hl_id_cell, count = unp{4:Very}item) {4:VERY}|