Mercurial > vim
view src/testdir/test_listlbr.in @ 10307:f4798aebef67 v8.0.0049
commit https://github.com/vim/vim/commit/2f97912800e86a296c001832bbbf2fc425f1e533
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Oct 27 17:27:44 2016 +0200
patch 8.0.0049
Problem: When a match ends in part of concealed text highlighting, it might
mess up concealing by resetting prev_syntax_id.
Solution: Do not reset prev_syntax_id and add a test to verify. (Christian
Brabandt, closes #1092)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 27 Oct 2016 17:30:04 +0200 |
parents | 68f2cac6b0db |
children |
line wrap: on
line source
Test for linebreak and list option (non-utf8) STARTTEST :so small.vim :if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! | endif :10new|:vsp|:vert resize 20 :put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \" :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" :redraw! :let line=ScreenChar(winwidth(0)) :call DoRecordScreen() :" :let g:test="Test 2: set linebreak + set list" :set linebreak list listchars= :redraw! :let line=ScreenChar(winwidth(0)) :call DoRecordScreen() :" :let g:test ="Test 3: set linebreak nolist" :set nolist linebreak :redraw! :let line=ScreenChar(winwidth(0)) :call DoRecordScreen() :" :let g:test ="Test 4: set linebreak with tab and 1 line as long as screen: should break!" :set nolist linebreak ts=8 :let line="1\t".repeat('a', winwidth(0)-2) :$put =line :$ :norm! zt :redraw! :let line=ScreenChar(winwidth(0)) :call DoRecordScreen() :let line="_S_\t bla" :$put =line :$ :norm! zt :" :let g:test ="Test 5: set linebreak with conceal and set list and tab displayed by different char (line may not be truncated)" :set cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab :syn match ConcealVar contained /_/ conceal :syn match All /.*/ contains=ConcealVar :let line=ScreenChar(winwidth(0)) :call DoRecordScreen() :set cpo&vim linebreak :" :let g:test ="Test 6: set linebreak with visual block mode" :let line="REMOVE: this not" :$put =g:test :$put =line :let line="REMOVE: aaaaaaaaaaaaa" :$put =line :1/^REMOVE: 0jf x:$put :set cpo&vim linebreak :" :let g:test ="Test 7: set linebreak with visual block mode and v_b_A" :$put =g:test Golong line: 40afoobar aTARGET at end :exe "norm! $3B\<C-v>eAx\<Esc>" :set cpo&vim linebreak sbr= :" :let g:test ="Test 8: set linebreak with visual char mode and changing block" :$put =g:test Go1111-1111-1111-11-1111-1111-11110f-lv3lc2222bgj. :" :let g:test ="Test 9: using redo after block visual mode" :$put =g:test Go aaa aaa a2k2j~e. :" :let g:test ="Test 10: using normal commands after block-visual" :$put =g:test :set linebreak Go abcd{ef ghijklm no}pqrs2k0f{c% :" :let g:test ="Test 11: using block replace mode after wrapping" :$put =g:test :set linebreak wrap Go150aayypk147|jr0 :" :let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$" :set list listchars=space:_,trail:-,tab:>-,eol:$ :$put =g:test :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta " :$put =line :$ :norm! zt :redraw! :let line=ScreenChar(winwidth(0)) :call DoRecordScreen() :%w! test.out :qa! ENDTEST dummy text