if (n_extra < 0)
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;
if (c == TAB && n_extra + col > wp->w_width)
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