diff options
Diffstat (limited to 'src/nvim/screen.c')
-rw-r--r-- | src/nvim/screen.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c index d67142822f..61c88b5875 100644 --- a/src/nvim/screen.c +++ b/src/nvim/screen.c @@ -2403,11 +2403,14 @@ win_line ( if (v != 0) line_attr = sign_get_attr((int)v, TRUE); - /* Highlight the current line in the quickfix window. */ - if (bt_quickfix(wp->w_buffer) && qf_current_entry(wp) == lnum) - line_attr = hl_attr(HLF_L); - if (line_attr != 0) - area_highlighting = TRUE; + // Highlight the current line in the quickfix window. + if (bt_quickfix(wp->w_buffer) && qf_current_entry(wp) == lnum) { + line_attr = hl_attr(HLF_QFL); + } + + if (line_attr != 0) { + area_highlighting = true; + } line = ml_get_buf(wp->w_buffer, lnum, FALSE); ptr = line; @@ -2624,7 +2627,12 @@ win_line ( * then. */ if (wp->w_p_cul && lnum == wp->w_cursor.lnum && !(wp == curwin && VIsual_active)) { - line_attr = hl_attr(HLF_CUL); + if (line_attr != 0 && !(State & INSERT) && bt_quickfix(wp->w_buffer) + && qf_current_entry(wp) == lnum) { + line_attr = hl_combine_attr(hl_attr(HLF_CUL), line_attr); + } else { + line_attr = hl_attr(HLF_CUL); + } area_highlighting = true; } |