aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-07-11 13:16:31 +0800
committerGitHub <noreply@github.com>2023-07-11 13:16:31 +0800
commit06694203e51efbabc0b49e26704dff089011fd21 (patch)
treee332f6cf47358f04478d692927cacb06422eded1 /src
parent19fb573ad992b6f658b58159314eeea0c2f30953 (diff)
downloadrneovim-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.c8
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