1
0
forked from aniani/vim
Files
vim/src/testdir/view_util.vim
Bram Moolenaar 0aa398f55a 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 #2111)
            But don't highlight more than one character.
2017-09-30 21:23:55 +02:00

52 lines
1.0 KiB
VimL

" 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
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 lines = []
for l in range(start, end)
let lines += [join(map(range(1, a:width), 'nr2char(screenchar(l, v:val))'), '')]
endfor
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'
redraw!
endfunction
function! CloseWindow() abort
bw!
redraw!
endfunction