vim-patch:8.2.2508: cannot change the character displayed in non existing lines

Problem:    Cannot change the character displayed in non existing lines.
Solution:   Add the "eob" item to 'fillchars'. (closes vim/vim#7832, closes vim/vim#3820)
a98f8a2305

Nvim has already implemented this feature, so this just ports the tests
and docs.
This commit is contained in:
zeertzjq 2021-12-19 09:55:17 +08:00
parent 95803f0e90
commit fd70018e21
2 changed files with 28 additions and 4 deletions

View File

@ -116,10 +116,12 @@ other windows. If 'mouse' is enabled, a status line can be dragged to resize
windows.
*filler-lines*
The lines after the last buffer line in a window are called filler lines.
These lines start with a tilde (~) character. By default, these are
highlighted as NonText (|hl-NonText|). The EndOfBuffer highlight group
(|hl-EndOfBuffer|) can be used to change the highlighting of filler lines.
The lines after the last buffer line in a window are called filler lines. By
default, these lines start with a tilde (~) character. The 'eob' item in the
'fillchars' option can be used to change this character. By default, these
characters are highlighted as NonText (|hl-NonText|). The EndOfBuffer
highlight group (|hl-EndOfBuffer|) can be used to change the highlighting of
the filler characters.
==============================================================================
3. Opening and closing a window *opening-window* *E36*

View File

@ -263,6 +263,28 @@ func Test_display_scroll_at_topline()
call StopVimInTerminal(buf)
endfunc
" Test for 'eob' (EndOfBuffer) item in 'fillchars'
func Test_eob_fillchars()
" default value (skipped)
" call assert_match('eob:\~', &fillchars)
" invalid values
call assert_fails(':set fillchars=eob:', 'E474:')
call assert_fails(':set fillchars=eob:xy', 'E474:')
call assert_fails(':set fillchars=eob:\255', 'E474:')
call assert_fails(':set fillchars=eob:<ff>', 'E474:')
" default is ~
new
call assert_equal('~', Screenline(2))
set fillchars=eob:+
redraw!
call assert_equal('+', Screenline(2))
set fillchars=eob:\
redraw!
call assert_equal(' ', nr2char(screenchar(2, 1)))
set fillchars&
close
endfunc
func Test_display_linebreak_breakat()
new
vert resize 25