aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/lua/vim.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-08-19 00:18:41 +0200
committerJustin M. Keyes <justinkz@gmail.com>2019-08-27 21:19:10 +0200
commit68ea9a7c8a7a74ec6ec9782528527cf70b92a376 (patch)
tree0b05e5f1ad611912163dcccf100bf965c1499a4f /src/nvim/lua/vim.lua
parent6d277f43a287d62c10fb1ed8d93247ddf4a437d9 (diff)
downloadrneovim-68ea9a7c8a7a74ec6ec9782528527cf70b92a376.tar.gz
rneovim-68ea9a7c8a7a74ec6ec9782528527cf70b92a376.tar.bz2
rneovim-68ea9a7c8a7a74ec6ec9782528527cf70b92a376.zip
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.
Diffstat (limited to 'src/nvim/lua/vim.lua')
-rw-r--r--src/nvim/lua/vim.lua10
1 files changed, 6 insertions, 4 deletions
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