fix(screen): missing search highlights when redrawing from timer #15380

* Revert "vim-patch:8.1.2294: cursor pos wrong with concealing and search causes a scroll"
* Add a test which covers #13074 910bbc3cca
  while reverting the screen.c code changes from there.

Fixes #14064
This commit is contained in:
Jit
2021-09-07 06:18:33 +08:00
committed by GitHub
parent 687a0b3d3e
commit db695cc4ca
2 changed files with 44 additions and 37 deletions

View File

@@ -913,4 +913,46 @@ describe('Screen', function()
]]}
eq(grid_lines, {{2, 0, {{'c', 0, 3}}}})
end)
-- Copy of Test_cursor_column_in_concealed_line_after_window_scroll in
-- test/functional/ui/syntax_conceal_spec.lua.
describe('concealed line after window scroll', function()
after_each(function()
command(':qall!')
os.remove('Xcolesearch')
end)
it('has the correct cursor column', function()
insert([[
3split
let m = matchadd('Conceal', '=')
setl conceallevel=2 concealcursor=nc
normal gg
"==expr==
]])
command('write Xcolesearch')
feed(":so %<CR>")
-- Jump to something that is beyond the bottom of the window,
-- so there's a scroll down.
feed("/expr<CR>")
-- Are the concealed parts of the current line really hidden?
-- Is the window's cursor column properly updated for hidden
-- parts of the current line?
screen:expect{grid=[[
setl conceallevel2 concealcursornc |
normal gg |
"{5:^expr} |
{2:Xcolesearch }|
normal gg |
"=={5:expr}== |
|
{0:~ }|
{3:Xcolesearch }|
/expr |
]]}
end)
end)
end)