fix(extmarks): redraw properly with scoped inline virt_text (#27569)

This commit is contained in:
zeertzjq
2024-02-22 09:05:52 +08:00
committed by GitHub
parent d9e6a442f2
commit 2137edbd4f
3 changed files with 28 additions and 3 deletions

View File

@@ -153,7 +153,8 @@ CharSize charsize_regular(CharsizeArg *csarg, char *const cur, colnr_T const vco
if (mark.pos.row != csarg->virt_row || mark.pos.col > col) {
break;
} else if (mark.pos.col == col) {
if (!mt_end(mark) && mark.flags & (MT_FLAG_DECOR_VIRT_TEXT_INLINE)) {
if (!mt_end(mark) && (mark.flags & MT_FLAG_DECOR_VIRT_TEXT_INLINE)
&& mt_scoped_in_win(mark, wp)) {
DecorInline decor = mt_decor(mark);
DecorVirtText *vt = decor.ext ? decor.data.ext.vt : NULL;
while (vt) {