mirror of
https://github.com/neovim/neovim.git
synced 2025-10-14 13:56:05 +00:00
vim-patch:8.2.4062: match highlighting of tab too short
Problem: Match highlighting of tab too short.
Solution: Do not stop match highlighting if on a Tab. (Christian Brabandt,
closes vim/vim#9507, closes vim/vim#9500)
0bbca540f7
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
@@ -1844,9 +1844,10 @@ int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, bool nochange,
|
||||
n_extra = 0;
|
||||
}
|
||||
}
|
||||
if (on_last_col) {
|
||||
if (on_last_col && c != TAB) {
|
||||
// Do not continue search/match highlighting over the
|
||||
// line break.
|
||||
// line break, but for TABs the highlighting should
|
||||
// include the complete width of the character
|
||||
search_attr = 0;
|
||||
}
|
||||
|
||||
|
@@ -421,4 +421,22 @@ func Test_matchdelete_redraw()
|
||||
bw!
|
||||
endfunc
|
||||
|
||||
func Test_match_tab_with_linebreak()
|
||||
CheckRunVimInTerminal
|
||||
|
||||
let lines =<< trim END
|
||||
set linebreak
|
||||
call setline(1, "\tix")
|
||||
call matchadd('ErrorMsg', '\t')
|
||||
END
|
||||
call writefile(lines, 'XscriptMatchTabLinebreak')
|
||||
let buf = RunVimInTerminal('-S XscriptMatchTabLinebreak', #{rows: 10})
|
||||
call TermWait(buf)
|
||||
call VerifyScreenDump(buf, 'Test_match_tab_linebreak', {})
|
||||
|
||||
call StopVimInTerminal(buf)
|
||||
call delete('XscriptMatchTabLinebreak')
|
||||
endfunc
|
||||
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
Reference in New Issue
Block a user