mirror of
https://github.com/neovim/neovim.git
synced 2025-10-26 12:27:24 +00:00
vim-patch:8.2.4630: 'cursorline' not always updated with 'culopt' is "screenline"
Problem: 'cursorline' not always updated with 'cursorlineopt' is
"screenline".
Solution: Call check_redraw_cursorline() more often. (closes vim/vim#10013)
bf269ed0b0
Code was reverted in patch 8.2.4638, so this just ports the test.
This commit is contained in:
@@ -937,17 +937,18 @@ describe('CursorLine and CursorLineNr highlights', function()
|
||||
[2] = {foreground = Screen.colors.Yellow};
|
||||
[3] = {foreground = Screen.colors.Red, background = Screen.colors.Green};
|
||||
[4] = {foreground = Screen.colors.Green, background = Screen.colors.Red};
|
||||
[5] = {bold = true}, -- ModeMsg
|
||||
})
|
||||
screen:attach()
|
||||
|
||||
feed_command('set wrap cursorline cursorlineopt=screenline')
|
||||
feed_command('set showbreak=>>>')
|
||||
feed_command('highlight clear NonText')
|
||||
feed_command('highlight clear CursorLine')
|
||||
feed_command('highlight NonText guifg=Yellow gui=NONE')
|
||||
feed_command('highlight LineNr guifg=Red guibg=Green gui=NONE')
|
||||
feed_command('highlight CursorLine guifg=Black guibg=White gui=NONE')
|
||||
feed_command('highlight CursorLineNr guifg=Green guibg=Red gui=NONE')
|
||||
command('set wrap cursorline cursorlineopt=screenline')
|
||||
command('set showbreak=>>>')
|
||||
command('highlight clear NonText')
|
||||
command('highlight clear CursorLine')
|
||||
command('highlight NonText guifg=Yellow gui=NONE')
|
||||
command('highlight LineNr guifg=Red guibg=Green gui=NONE')
|
||||
command('highlight CursorLine guifg=Black guibg=White gui=NONE')
|
||||
command('highlight CursorLineNr guifg=Green guibg=Red gui=NONE')
|
||||
|
||||
feed('30iø<esc>o<esc>30ia<esc>')
|
||||
|
||||
@@ -977,7 +978,7 @@ describe('CursorLine and CursorLineNr highlights', function()
|
||||
]])
|
||||
|
||||
-- CursorLineNr should not apply to line number when 'cursorlineopt' does not contain "number"
|
||||
feed_command('set relativenumber numberwidth=2')
|
||||
command('set relativenumber numberwidth=2')
|
||||
screen:expect([[
|
||||
{3:0 }{1:øøøøøøøøøøøø^øøøøøø}|
|
||||
{3: }{2:>>>}øøøøøøøøøøøø |
|
||||
@@ -987,7 +988,7 @@ describe('CursorLine and CursorLineNr highlights', function()
|
||||
]])
|
||||
|
||||
-- CursorLineNr should apply to line number when 'cursorlineopt' contains "number"
|
||||
feed_command('set cursorlineopt+=number')
|
||||
command('set cursorlineopt+=number')
|
||||
screen:expect([[
|
||||
{4:0 }{1:øøøøøøøøøøøø^øøøøøø}|
|
||||
{3: }{2:>>>}øøøøøøøøøøøø |
|
||||
@@ -1019,6 +1020,44 @@ describe('CursorLine and CursorLineNr highlights', function()
|
||||
{3: }{2:>>>}{1:aaaaaaaaa^aaa }|
|
||||
|
|
||||
]])
|
||||
|
||||
-- updated in Insert mode
|
||||
feed('I')
|
||||
screen:expect([[
|
||||
{3:1 }øøøøøøøøøøøøøøøøøø|
|
||||
{3: }{2:>>>}øøøøøøøøøøøø |
|
||||
{4:0 }{1:^aaaaaaaaaaaaaaaaaa}|
|
||||
{3: }{2:>>>}aaaaaaaaaaaa |
|
||||
{5:-- INSERT --} |
|
||||
]])
|
||||
|
||||
feed('<Esc>gg')
|
||||
screen:expect([[
|
||||
{4:0 }{1:^øøøøøøøøøøøøøøøøøø}|
|
||||
{3: }{2:>>>}øøøøøøøøøøøø |
|
||||
{3:1 }aaaaaaaaaaaaaaaaaa|
|
||||
{3: }{2:>>>}aaaaaaaaaaaa |
|
||||
|
|
||||
]])
|
||||
|
||||
command('inoremap <F2> <Cmd>call cursor(1, 1)<CR>')
|
||||
feed('A')
|
||||
screen:expect([[
|
||||
{4:0 }øøøøøøøøøøøøøøøøøø|
|
||||
{3: }{2:>>>}{1:øøøøøøøøøøøø^ }|
|
||||
{3:1 }aaaaaaaaaaaaaaaaaa|
|
||||
{3: }{2:>>>}aaaaaaaaaaaa |
|
||||
{5:-- INSERT --} |
|
||||
]])
|
||||
|
||||
feed('<F2>')
|
||||
screen:expect([[
|
||||
{4:0 }{1:^øøøøøøøøøøøøøøøøøø}|
|
||||
{3: }{2:>>>}øøøøøøøøøøøø |
|
||||
{3:1 }aaaaaaaaaaaaaaaaaa|
|
||||
{3: }{2:>>>}aaaaaaaaaaaa |
|
||||
{5:-- INSERT --} |
|
||||
]])
|
||||
end)
|
||||
|
||||
it('always updated. vim-patch:8.1.0849', function()
|
||||
|
||||
Reference in New Issue
Block a user