This commit is contained in:
@@ -863,34 +863,40 @@ describe('Range', function()
|
||||
end)
|
||||
|
||||
it('discerns range bounds from extmarks beyond the end of the buffer', function()
|
||||
local Buffer = require 'u.buffer'
|
||||
local function set_tmp_options(bufnr)
|
||||
vim.bo[bufnr].bufhidden = 'delete'
|
||||
vim.bo[bufnr].buflisted = false
|
||||
vim.bo[bufnr].buftype = 'nowrite'
|
||||
end
|
||||
|
||||
vim.cmd.vnew()
|
||||
local left = Buffer.current()
|
||||
left:set_tmp_options()
|
||||
local left_bufnr = vim.api.nvim_get_current_buf()
|
||||
set_tmp_options(left_bufnr)
|
||||
local left = Range.from_buf_text(left_bufnr)
|
||||
vim.cmd.vnew()
|
||||
local right = Buffer.current()
|
||||
right:set_tmp_options()
|
||||
local right_bufnr = vim.api.nvim_get_current_buf()
|
||||
set_tmp_options(left_bufnr)
|
||||
local right = Range.from_buf_text(right_bufnr)
|
||||
|
||||
left:all():replace {
|
||||
left:replace {
|
||||
'one',
|
||||
'two',
|
||||
'three',
|
||||
}
|
||||
local left_all_ext = left:all():save_to_extmark()
|
||||
local left_all_ext = left:save_to_extmark()
|
||||
|
||||
right:all():replace {
|
||||
right:replace {
|
||||
'foo',
|
||||
'bar',
|
||||
}
|
||||
|
||||
vim.api.nvim_set_current_buf(right.bufnr)
|
||||
vim.api.nvim_set_current_buf(right_bufnr)
|
||||
vim.cmd [[normal! ggyG]]
|
||||
vim.api.nvim_set_current_buf(left.bufnr)
|
||||
vim.api.nvim_set_current_buf(left_bufnr)
|
||||
vim.cmd [[normal! ggVGp]]
|
||||
|
||||
assert.are.same({ 'foo', 'bar' }, left_all_ext:range():lines())
|
||||
vim.api.nvim_buf_delete(left.bufnr, { force = true })
|
||||
vim.api.nvim_buf_delete(right.bufnr, { force = true })
|
||||
vim.api.nvim_buf_delete(left_bufnr, { force = true })
|
||||
vim.api.nvim_buf_delete(right_bufnr, { force = true })
|
||||
end)
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user