aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/drawline.c2
-rw-r--r--test/functional/ui/decorations_spec.lua20
2 files changed, 21 insertions, 1 deletions
diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c
index 016a25b9d5..d2d39e8ca8 100644
--- a/src/nvim/drawline.c
+++ b/src/nvim/drawline.c
@@ -1729,7 +1729,7 @@ int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, int mod_top, bo
wlv.draw_state = WL_LINE;
if (has_decor && wlv.row == startrow + wlv.filler_lines) {
// hide virt_text on text hidden by 'nowrap'
- decor_redraw_col(wp, wlv.vcol, wlv.off, true, &decor_state);
+ decor_redraw_col(wp, (colnr_T)(ptr - line), wlv.off, true, &decor_state);
}
win_line_continue(&wlv); // use wlv.saved_ values
}
diff --git a/test/functional/ui/decorations_spec.lua b/test/functional/ui/decorations_spec.lua
index b301ed8353..767ec54a7b 100644
--- a/test/functional/ui/decorations_spec.lua
+++ b/test/functional/ui/decorations_spec.lua
@@ -825,6 +825,26 @@ describe('extmark decorations', function()
end -- ?古古古古?古古 |
|
]]}
+
+ screen:try_resize(50, 2)
+ command('set nowrap')
+ meths.buf_set_lines(0, 12, 12, true, {'-- ' .. ('…'):rep(57)})
+ feed('G')
+ meths.buf_set_extmark(0, ns, 12, 123, { virt_text={{'!!!!!', 'ErrorMsg'}}, virt_text_pos='overlay', virt_text_hide=true})
+ screen:expect{grid=[[
+ ^-- …………………………………………………………………………………………………………{4:!!!!!}……|
+ |
+ ]]}
+ feed('40zl')
+ screen:expect{grid=[[
+ ^………{4:!!!!!}……………………………… |
+ |
+ ]]}
+ feed('10zl')
+ screen:expect{grid=[[
+ ^………………………… |
+ |
+ ]]}
end)
it('can have virtual text of overlay position and styling', function()