Merge #9481 'vim-patch:8.1.0449,8.1.0450'

closes #9481
This commit is contained in:
Justin M. Keyes 2019-01-11 01:45:38 +01:00
commit 99429e5f41
3 changed files with 48 additions and 1 deletions

View File

@ -1409,7 +1409,12 @@ static void win_update(win_T *wp)
if (wp->w_p_rnu) {
// 'relativenumber' set: The text doesn't need to be drawn, but
// the number column nearly always does.
(void)win_line(wp, lnum, srow, wp->w_grid.Rows, true, true);
fold_count = foldedCount(wp, lnum, &win_foldinfo);
if (fold_count != 0) {
fold_line(wp, fold_count, &win_foldinfo, lnum, row);
} else {
(void)win_line(wp, lnum, srow, wp->w_grid.Rows, true, true);
}
}
// This line does not need to be drawn, advance to the next one.

View File

@ -704,6 +704,26 @@ func Test_fold_last_line_with_pagedown()
enew!
endfunc
func Test_folds_with_rnu()
if !CanRunVimInTerminal()
return
endif
call writefile([
\ 'set fdm=marker rnu foldcolumn=2',
\ 'call setline(1, ["{{{1", "nline 1", "{{{1", "line 2"])',
\ ], 'Xtest_folds_with_rnu')
let buf = RunVimInTerminal('-S Xtest_folds_with_rnu', {})
call VerifyScreenDump(buf, 'Test_folds_with_rnu_01', {})
call term_sendkeys(buf, "j")
call VerifyScreenDump(buf, 'Test_folds_with_rnu_02', {})
" clean up
call StopVimInTerminal(buf)
call delete('Xtest_folds_with_rnu')
endfunc
func Test_folds_marker_in_comment2()
new
call setline(1, ['Lorem ipsum dolor sit', 'Lorem ipsum dolor sit', 'Lorem ipsum dolor sit'])

View File

@ -1,8 +1,10 @@
local helpers = require('test.functional.helpers')(after_each)
local Screen = require('test.functional.ui.screen')
local clear, feed, eq = helpers.clear, helpers.feed, helpers.eq
local command = helpers.command
local feed_command = helpers.feed_command
local insert = helpers.insert
local funcs = helpers.funcs
local meths = helpers.meths
describe("folded lines", function()
@ -26,6 +28,26 @@ describe("folded lines", function()
screen:detach()
end)
it("highlighting with relative line numbers", function()
command("set relativenumber foldmethod=marker")
feed_command("set foldcolumn=2")
funcs.setline(1, '{{{1')
funcs.setline(2, 'line 1')
funcs.setline(3, '{{{1')
funcs.setline(4, 'line 2')
feed("j")
screen:expect([[
{7:+ }{5: 1 +-- 2 lines: ·························}|
{7:+ }{5: 0 ^+-- 2 lines: ·························}|
{7: }{1:~ }|
{7: }{1:~ }|
{7: }{1:~ }|
{7: }{1:~ }|
{7: }{1:~ }|
:set foldcolumn=2 |
]])
end)
it("works with multibyte text", function()
-- Currently the only allowed value of 'maxcombine'
eq(6, meths.get_option('maxcombine'))