diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-07-11 13:16:31 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-11 13:16:31 +0800 |
commit | 06694203e51efbabc0b49e26704dff089011fd21 (patch) | |
tree | e332f6cf47358f04478d692927cacb06422eded1 /src | |
parent | 19fb573ad992b6f658b58159314eeea0c2f30953 (diff) | |
download | rneovim-06694203e51efbabc0b49e26704dff089011fd21.tar.gz rneovim-06694203e51efbabc0b49e26704dff089011fd21.tar.bz2 rneovim-06694203e51efbabc0b49e26704dff089011fd21.zip |
fix(drawline): fix missing Visual hl on double-width fold char (#24308)
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/drawline.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c index 7bd0f67014..6bf9dc845d 100644 --- a/src/nvim/drawline.c +++ b/src/nvim/drawline.c @@ -1805,9 +1805,11 @@ int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, bool number_onl && (area_highlighting || spv->spv_has_spell || extra_check)) { // handle Visual or match highlighting in this line if (wlv.vcol == wlv.fromcol - || (wlv.vcol + 1 == wlv.fromcol && wlv.n_extra == 0 - && utf_ptr2cells(ptr) > 1) - || ((int)vcol_prev == fromcol_prev + || (wlv.vcol + 1 == wlv.fromcol + && ((wlv.n_extra == 0 && utf_ptr2cells(ptr) > 1) + || (wlv.n_extra > 0 && wlv.p_extra != NULL + && utf_ptr2cells(wlv.p_extra) > 1))) + || (vcol_prev == fromcol_prev && vcol_prev < wlv.vcol // not at margin && wlv.vcol < wlv.tocol)) { area_attr = vi_attr; // start highlighting |