diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2019-08-24 14:01:09 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-08-27 22:13:45 +0200 |
commit | bfc5a18f4b6cb4bc2335440254c346d731063b46 (patch) | |
tree | 25a9590dff703bb63abf2eb18a92486523cfb306 | |
parent | eacc70fb3ebae6d76112ab10647a42339f5f223f (diff) | |
download | rneovim-bfc5a18f4b6cb4bc2335440254c346d731063b46.tar.gz rneovim-bfc5a18f4b6cb4bc2335440254c346d731063b46.tar.bz2 rneovim-bfc5a18f4b6cb4bc2335440254c346d731063b46.zip |
paste: insert text "before" cursor in Insert-mode
-rw-r--r-- | src/nvim/lua/vim.lua | 7 | ||||
-rw-r--r-- | test/functional/terminal/tui_spec.lua | 10 |
2 files changed, 11 insertions, 6 deletions
diff --git a/src/nvim/lua/vim.lua b/src/nvim/lua/vim.lua index 637a4baf33..59438c8667 100644 --- a/src/nvim/lua/vim.lua +++ b/src/nvim/lua/vim.lua @@ -101,6 +101,7 @@ local _paste = (function() return function(lines, phase) local call = vim.api.nvim_call_function local now = vim.loop.now() + local mode = call('mode', {}):sub(1,1) if phase == 1 then tdots = now tredraw = now @@ -110,7 +111,11 @@ local _paste = (function() -- nvim_cancel() -- end end - vim.api.nvim_put(lines, 'c', true, true) + if mode == 'i' or mode == 'R' then + vim.api.nvim_put(lines, 'c', false, true) + else + vim.api.nvim_put(lines, 'c', true, true) + end if (now - tredraw >= 1000) or phase == 1 or phase == 3 then tredraw = now vim.api.nvim_command('redraw') diff --git a/test/functional/terminal/tui_spec.lua b/test/functional/terminal/tui_spec.lua index 414838444f..e6d9dcddb9 100644 --- a/test/functional/terminal/tui_spec.lua +++ b/test/functional/terminal/tui_spec.lua @@ -156,19 +156,19 @@ describe('TUI', function() it('paste: Insert mode', function() -- "bracketed paste" - feed_data('i\027[200~') + feed_data('i""\027i\027[200~') screen:expect([[ - {1: } | + "{1:"} | {4:~ }| {4:~ }| {4:~ }| - {5:[No Name] }| + {5:[No Name] [+] }| {3:-- INSERT --} | {3:-- TERMINAL --} | ]]) feed_data('pasted from terminal') screen:expect([[ - pasted from terminal{1: } | + "pasted from terminal{1:"} | {4:~ }| {4:~ }| {4:~ }| @@ -179,7 +179,7 @@ describe('TUI', function() feed_data('\027[201~') -- End paste. feed_data('\027\000') -- ESC: go to Normal mode. screen:expect([[ - pasted from termina{1:l} | + "pasted from termina{1:l}" | {4:~ }| {4:~ }| {4:~ }| |