From f99caa755c84788f0e2e9959ccad7c4539fb4927 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Mon, 19 Aug 2019 01:14:06 +0200 Subject: paste: use chansend() in Terminal-mode --- src/nvim/lua/vim.lua | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/nvim/lua/vim.lua b/src/nvim/lua/vim.lua index e20fc1472e..49eb99c81a 100644 --- a/src/nvim/lua/vim.lua +++ b/src/nvim/lua/vim.lua @@ -95,15 +95,23 @@ end -- Default paste function. 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 curline = vim.api.nvim_call_function('line', {'.'}) + local curline = call('line', {'.'}) vim.api.nvim_buf_set_lines( 0, curline, curline, false, data) - vim.api.nvim_call_function( + call( 'cursor', {curline + #data, 9999999}) -- TODO: do not redraw (slow!) until paste is finished. -- cgit