mirror of
https://github.com/neovim/neovim.git
synced 2026-05-04 21:15:09 +00:00
Problem: With 'linebreak' set and 'list' unset a Tab is not counted
properly. (Kent Sibilev)
Solution: Check the 'list' option. (Christian Brabandt)
53 lines
1.2 KiB
Plaintext
53 lines
1.2 KiB
Plaintext
Test for linebreak and list option in utf-8 mode
|
|
|
|
STARTTEST
|
|
:so small.vim
|
|
:if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif
|
|
:so mbyte.vim
|
|
:if &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif
|
|
:10new|:vsp|:vert resize 20
|
|
:put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
|
|
:norm! zt
|
|
:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap
|
|
:fu! ScreenChar(width)
|
|
: let c=''
|
|
: for j in range(1,4)
|
|
: for i in range(1,a:width)
|
|
: let c.=nr2char(screenchar(j, i))
|
|
: endfor
|
|
: let c.="\n"
|
|
: endfor
|
|
: return c
|
|
:endfu
|
|
:fu! DoRecordScreen()
|
|
: wincmd l
|
|
: $put =printf(\"\n%s\", g:test)
|
|
: $put =g:line
|
|
: wincmd p
|
|
:endfu
|
|
:let g:test ="Test 1: set linebreak + set list + fancy listchars"
|
|
:exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6"
|
|
:redraw!
|
|
:let line=ScreenChar(winwidth(0))
|
|
:call DoRecordScreen()
|
|
:"
|
|
:let g:test ="Test 2: set nolinebreak list"
|
|
:set list nolinebreak
|
|
:redraw!
|
|
:let line=ScreenChar(winwidth(0))
|
|
:call DoRecordScreen()
|
|
:"
|
|
:let g:test ="Test 3: set linebreak nolist"
|
|
:$put =\"\t*mask = nil;\"
|
|
:$
|
|
:norm! zt
|
|
:set nolist linebreak
|
|
:redraw!
|
|
:let line=ScreenChar(winwidth(0))
|
|
:call DoRecordScreen()
|
|
:"
|
|
:%w! test.out
|
|
:qa!
|
|
ENDTEST
|
|
dummy text
|