diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2019-08-19 01:14:06 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-08-27 21:19:10 +0200 |
commit | f99caa755c84788f0e2e9959ccad7c4539fb4927 (patch) | |
tree | df0d5c516b884517f0ce666522bb8b17122aac0c /src/nvim/lua/vim.lua | |
parent | abd55be19a2f1443cfffb8d4953f86f32efe40aa (diff) | |
download | rneovim-f99caa755c84788f0e2e9959ccad7c4539fb4927.tar.gz rneovim-f99caa755c84788f0e2e9959ccad7c4539fb4927.tar.bz2 rneovim-f99caa755c84788f0e2e9959ccad7c4539fb4927.zip |
paste: use chansend() in Terminal-mode
Diffstat (limited to 'src/nvim/lua/vim.lua')
-rw-r--r-- | src/nvim/lua/vim.lua | 12 |
1 files 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. |