From 68ea9a7c8a7a74ec6ec9782528527cf70b92a376 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Mon, 19 Aug 2019 00:18:41 +0200 Subject: TUI/paste: always flush on paste mode-change Flush input before entering, not only when leaving, paste mode. Else there could be pending input which will erroneously be sent to the paste handler. --- src/nvim/lua/vim.lua | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/nvim/lua') diff --git a/src/nvim/lua/vim.lua b/src/nvim/lua/vim.lua index 922878d6ce..47feba0f85 100644 --- a/src/nvim/lua/vim.lua +++ b/src/nvim/lua/vim.lua @@ -96,17 +96,19 @@ end -- Default paste function. local function _paste(data) -- local eof = (data == {''}) - local curline = vim.api.nvim_call_function('line', {'.'}) + local curline = vim.api.nvim_call_function('line', {'.'}) - 1 vim.api.nvim_buf_set_lines( 0, curline, curline, false, data) - vim.api.nvim_call_function('cursor', {curline + #data, 1}) + vim.api.nvim_call_function( + 'cursor', + {curline + #data, 9999999}) + -- TODO: do not redraw (slow!) until paste is finished. -- if eof then - -- vim.api.nvim_command('redraw') - -- end + vim.api.nvim_command('redraw') return 0 end -- cgit