mirror of
https://github.com/neovim/neovim.git
synced 2025-12-15 19:05:40 +00:00
fix(paste): don't move cursor past the end of pasted text in Normal mode
This commit is contained in:
@@ -665,6 +665,43 @@ describe('API', function()
|
||||
feed('u') -- Undo.
|
||||
expect(expected1)
|
||||
end)
|
||||
it('stream: Insert mode', function()
|
||||
feed('i')
|
||||
nvim('paste', 'aaaaaa', false, 1)
|
||||
nvim('paste', 'bbbbbb', false, 2)
|
||||
nvim('paste', 'cccccc', false, 2)
|
||||
nvim('paste', 'dddddd', false, 3)
|
||||
expect('aaaaaabbbbbbccccccdddddd')
|
||||
end)
|
||||
it('stream: Normal mode on empty line', function()
|
||||
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('')
|
||||
end)
|
||||
it('stream: Normal mode not at the end of a line', function()
|
||||
feed('i||<Esc>0')
|
||||
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('||')
|
||||
end)
|
||||
it('stream: Normal mode at the end of a line', function()
|
||||
feed('i||<Esc>')
|
||||
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('||')
|
||||
end)
|
||||
it('non-streaming', function()
|
||||
-- With final "\n".
|
||||
nvim('paste', 'line 1\nline 2\nline 3\n', true, -1)
|
||||
|
||||
Reference in New Issue
Block a user