mirror of
https://github.com/neovim/neovim.git
synced 2026-04-20 14:25:32 +00:00
vim-patch:9.0.2151: 'breakindent' is not drawn after diff filler lines (#26412)
Problem: 'breakindent' is not drawn after diff filler lines.
Solution: Correct check for whether 'breakindent' should be drawn.
closes: vim/vim#13624
588f20dece
Cherry-pick Test_diff_with_syntax() change from patch 9.0.1257.
This commit is contained in:
@@ -1083,18 +1083,19 @@ endfunc
|
||||
func Test_diff_with_cursorline_breakindent()
|
||||
CheckScreendump
|
||||
|
||||
call writefile([
|
||||
\ 'hi CursorLine ctermbg=red ctermfg=white',
|
||||
\ 'set noequalalways wrap diffopt=followwrap cursorline breakindent',
|
||||
\ '50vnew',
|
||||
\ 'call setline(1, [" "," "," "," "])',
|
||||
\ 'exe "norm 20Afoo\<Esc>j20Afoo\<Esc>j20Afoo\<Esc>j20Abar\<Esc>"',
|
||||
\ 'vnew',
|
||||
\ 'call setline(1, [" "," "," "," "])',
|
||||
\ 'exe "norm 20Abee\<Esc>j20Afoo\<Esc>j20Afoo\<Esc>j20Abaz\<Esc>"',
|
||||
\ 'windo diffthis',
|
||||
\ '2wincmd w',
|
||||
\ ], 'Xtest_diff_cursorline_breakindent', 'D')
|
||||
let lines =<< trim END
|
||||
hi CursorLine ctermbg=red ctermfg=white
|
||||
set noequalalways wrap diffopt=followwrap cursorline breakindent
|
||||
50vnew
|
||||
call setline(1, [' ', ' ', ' ', ' '])
|
||||
exe "norm! 20Afoo\<Esc>j20Afoo\<Esc>j20Afoo\<Esc>j20Abar\<Esc>"
|
||||
vnew
|
||||
call setline(1, [' ', ' ', ' ', ' '])
|
||||
exe "norm! 20Abee\<Esc>j20Afoo\<Esc>j20Afoo\<Esc>j20Abaz\<Esc>"
|
||||
windo diffthis
|
||||
2wincmd w
|
||||
END
|
||||
call writefile(lines, 'Xtest_diff_cursorline_breakindent', 'D')
|
||||
let buf = RunVimInTerminal('-S Xtest_diff_cursorline_breakindent', {})
|
||||
|
||||
call term_sendkeys(buf, "gg0")
|
||||
@@ -1110,11 +1111,30 @@ func Test_diff_with_cursorline_breakindent()
|
||||
call StopVimInTerminal(buf)
|
||||
endfunc
|
||||
|
||||
func Test_diff_breakindent_after_filler()
|
||||
CheckScreendump
|
||||
|
||||
let lines =<< trim END
|
||||
set laststatus=0 diffopt+=followwrap breakindent
|
||||
call setline(1, ['a', ' ' .. repeat('c', 50)])
|
||||
vnew
|
||||
call setline(1, ['a', 'b', ' ' .. repeat('c', 50)])
|
||||
windo diffthis
|
||||
norm! G$
|
||||
END
|
||||
call writefile(lines, 'Xtest_diff_breakindent_after_filler', 'D')
|
||||
let buf = RunVimInTerminal('-S Xtest_diff_breakindent_after_filler', #{rows: 8, cols: 45})
|
||||
call VerifyScreenDump(buf, 'Test_diff_breakindent_after_filler', {})
|
||||
|
||||
" clean up
|
||||
call StopVimInTerminal(buf)
|
||||
endfunc
|
||||
|
||||
func Test_diff_with_syntax()
|
||||
CheckScreendump
|
||||
|
||||
let lines =<< trim END
|
||||
void doNothing() {
|
||||
void doNothing() {
|
||||
int x = 0;
|
||||
char *s = "hello";
|
||||
return 5;
|
||||
@@ -1122,7 +1142,7 @@ func Test_diff_with_syntax()
|
||||
END
|
||||
call writefile(lines, 'Xprogram1.c', 'D')
|
||||
let lines =<< trim END
|
||||
void doSomething() {
|
||||
void doSomething() {
|
||||
int x = 0;
|
||||
char *s = "there";
|
||||
return 5;
|
||||
@@ -1131,7 +1151,7 @@ func Test_diff_with_syntax()
|
||||
call writefile(lines, 'Xprogram2.c', 'D')
|
||||
|
||||
let lines =<< trim END
|
||||
edit Xprogram1.c
|
||||
edit Xprogram1.c
|
||||
diffsplit Xprogram2.c
|
||||
END
|
||||
call writefile(lines, 'Xtest_diff_syntax', 'D')
|
||||
|
||||
Reference in New Issue
Block a user