diff options
Diffstat (limited to 'src/nvim/screen.c')
-rw-r--r-- | src/nvim/screen.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c index 08ffc3abb2..4d0fde642d 100644 --- a/src/nvim/screen.c +++ b/src/nvim/screen.c @@ -3666,13 +3666,12 @@ static int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, bool noc } if (wp->w_p_cole > 0 - && (wp != curwin || lnum != wp->w_cursor.lnum - || conceal_cursor_line(wp)) + && (wp != curwin || lnum != wp->w_cursor.lnum || conceal_cursor_line(wp)) && ((syntax_flags & HL_CONCEAL) != 0 || has_match_conc > 0 || decor_conceal > 0) - && !(lnum_in_visual_area - && vim_strchr(wp->w_p_cocu, 'v') == NULL)) { + && !(lnum_in_visual_area && vim_strchr(wp->w_p_cocu, 'v') == NULL)) { char_attr = conceal_attr; - if ((prev_syntax_id != syntax_seqnr || has_match_conc > 1 || decor_conceal > 1) + if (((prev_syntax_id != syntax_seqnr && (syntax_flags & HL_CONCEAL) != 0) + || has_match_conc > 1 || decor_conceal > 1) && (syn_get_sub_char() != NUL || (has_match_conc && match_conc) || (decor_conceal && decor_state.conceal_char) |