Mercurial > vim
diff src/testdir/view_util.vim @ 12580:ba55861aa52c v8.0.1168
patch 8.0.1168: wrong highlighting with combination of match and 'cursorline'
commit https://github.com/vim/vim/commit/0aa398f55a327282c70f56e0bac2dcb9521da378
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Sep 30 21:23:55 2017 +0200
patch 8.0.1168: wrong highlighting with combination of match and 'cursorline'
Problem: wrong highlighting with combination of match and 'cursorline'.
Solution: Use "line_attr" when appropriate. (Ozaki Kiichi, closes https://github.com/vim/vim/issues/2111)
But don't highlight more than one character.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 30 Sep 2017 21:30:05 +0200 |
parents | 678edb254216 |
children | eb087f8a26a8 |
line wrap: on
line diff
--- a/src/testdir/view_util.vim +++ b/src/testdir/view_util.vim @@ -1,5 +1,10 @@ " Functions about view shared by several tests +" Only load this script once. +if exists('*ScreenLines') + finish +endif + " ScreenLines(lnum, width) or " ScreenLines([start, end], width) function! ScreenLines(lnum, width) abort @@ -18,6 +23,22 @@ function! ScreenLines(lnum, width) abort return lines endfunction +function! ScreenAttrs(lnum, width) abort + redraw! + if type(a:lnum) == v:t_list + let start = a:lnum[0] + let end = a:lnum[1] + else + let start = a:lnum + let end = a:lnum + endif + let attrs = [] + for l in range(start, end) + let attrs += [map(range(1, a:width), 'screenattr(l, v:val)')] + endfor + return attrs +endfunction + function! NewWindow(height, width) abort exe a:height . 'new' exe a:width . 'vsp'