vim-patch:8.2.1689: 'colorcolumn' doesn't show in indent

Problem:    'colorcolumn' doesn't show in indent.
Solution:   Also draw the column when draw_state is WL_BRI or WL_SBR.
            (Alexey Demin, closes vim/vim#6948, closes vim/vim#6619)
ad5e5631c5
This commit is contained in:
Jan Edmund Lazo
2021-05-24 13:01:30 -04:00
parent db3136d2ea
commit 529d88c641
2 changed files with 41 additions and 1 deletions

View File

@@ -4138,8 +4138,12 @@ static int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow,
// highlight the cursor position itself. // highlight the cursor position itself.
// Also highlight the 'colorcolumn' if it is different than // Also highlight the 'colorcolumn' if it is different than
// 'cursorcolumn' // 'cursorcolumn'
// Also highlight the 'colorcolumn' if 'breakindent' and/or 'showbreak'
// options are set
vcol_save_attr = -1; vcol_save_attr = -1;
if (draw_state == WL_LINE if ((draw_state == WL_LINE
|| draw_state == WL_BRI
|| draw_state == WL_SBR)
&& !lnum_in_visual_area && !lnum_in_visual_area
&& search_attr == 0 && search_attr == 0
&& area_attr == 0 && area_attr == 0

View File

@@ -595,6 +595,42 @@ func Test_cursorline_with_visualmode()
call delete('Xtest_cursorline_with_visualmode') call delete('Xtest_cursorline_with_visualmode')
endfunc endfunc
func Test_colorcolumn_bri()
CheckScreendump
" check 'colorcolumn' when 'breakindent' is set
let lines =<< trim END
call setline(1, 'The quick brown fox jumped over the lazy dogs')
END
call writefile(lines, 'Xtest_colorcolumn_bri')
let buf = RunVimInTerminal('-S Xtest_colorcolumn_bri', {'rows': 10,'columns': 40})
call term_sendkeys(buf, ":set co=40 linebreak bri briopt=shift:2 cc=40,41,43\<CR>")
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_colorcolumn_2', {})
" clean up
call StopVimInTerminal(buf)
call delete('Xtest_colorcolumn_bri')
endfunc
func Test_colorcolumn_sbr()
CheckScreendump
" check 'colorcolumn' when 'showbreak' is set
let lines =<< trim END
call setline(1, 'The quick brown fox jumped over the lazy dogs')
END
call writefile(lines, 'Xtest_colorcolumn_srb')
let buf = RunVimInTerminal('-S Xtest_colorcolumn_srb', {'rows': 10,'columns': 40})
call term_sendkeys(buf, ":set co=40 showbreak=+++>\\ cc=40,41,43\<CR>")
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_colorcolumn_3', {})
" clean up
call StopVimInTerminal(buf)
call delete('Xtest_colorcolumn_srb')
endfunc
" This test must come before the Test_cursorline test, as it appears this " This test must come before the Test_cursorline test, as it appears this
" defines the Normal highlighting group anyway. " defines the Normal highlighting group anyway.
func Test_1_highlight_Normalgroup_exists() func Test_1_highlight_Normalgroup_exists()