paste: use chansend() in Terminal-mode

This commit is contained in:
Justin M. Keyes
2019-08-19 01:14:06 +02:00
parent abd55be19a
commit f99caa755c

View File

@@ -95,15 +95,23 @@ end
-- Default paste function. -- Default paste function.
local function _paste(data) local function _paste(data)
local call = vim.api.nvim_call_function
local mode = call('mode', {})
if mode == 't' then
call('chansend',
{vim.api.nvim_buf_get_option(0, 'channel'), data})
return true
end
-- local eof = (data == {''}) -- local eof = (data == {''})
local curline = vim.api.nvim_call_function('line', {'.'}) local curline = call('line', {'.'})
vim.api.nvim_buf_set_lines( vim.api.nvim_buf_set_lines(
0, 0,
curline, curline,
curline, curline,
false, false,
data) data)
vim.api.nvim_call_function( call(
'cursor', 'cursor',
{curline + #data, 9999999}) {curline + #data, 9999999})
-- TODO: do not redraw (slow!) until paste is finished. -- TODO: do not redraw (slow!) until paste is finished.