fix(paste): deal with eol and eof in Visual mode

This commit is contained in:
zeertzjq
2022-03-06 06:56:24 +08:00
parent 2601e0873f
commit bfb7754442
2 changed files with 49 additions and 2 deletions

View File

@@ -702,6 +702,42 @@ describe('API', function()
feed('u')
expect('||')
end)
it('stream: Visual mode either end not at the end of a line', function()
feed('i|xxx<CR>xxx|<Esc>hvhk')
nvim('paste', 'aaaaaa', false, 1)
nvim('paste', 'bbbbbb', false, 2)
nvim('paste', 'cccccc', false, 2)
nvim('paste', 'dddddd', false, 3)
expect('|aaaaaabbbbbbccccccdddddd|')
feed('u')
expect([[
|xxx
xxx|]])
end)
it('stream: Visual mode cursor at the end of a line', function()
feed('i||xxx<CR>xxx<Esc>vko')
nvim('paste', 'aaaaaa', false, 1)
nvim('paste', 'bbbbbb', false, 2)
nvim('paste', 'cccccc', false, 2)
nvim('paste', 'dddddd', false, 3)
expect('||aaaaaabbbbbbccccccdddddd')
feed('u')
expect([[
||xxx
xxx]])
end)
it('stream: Visual mode other end at the end of a line', function()
feed('i||xxx<CR>xxx<Esc>vk')
nvim('paste', 'aaaaaa', false, 1)
nvim('paste', 'bbbbbb', false, 2)
nvim('paste', 'cccccc', false, 2)
nvim('paste', 'dddddd', false, 3)
expect('||aaaaaabbbbbbccccccdddddd')
feed('u')
expect([[
||xxx
xxx]])
end)
it('non-streaming', function()
-- With final "\n".
nvim('paste', 'line 1\nline 2\nline 3\n', true, -1)