aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/vim.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2015-02-06 13:21:53 -0500
committerJustin M. Keyes <justinkz@gmail.com>2015-02-12 23:21:09 -0500
commit2d22e1f035ee5ae165f636ad7550fbd83013af71 (patch)
tree35e4331e36b447a266ffd5bab2fd92d0efdf7334 /src/nvim/api/vim.c
parent5483cb4e62b066adb2c482c338fb7eba672bdcc2 (diff)
downloadrneovim-2d22e1f035ee5ae165f636ad7550fbd83013af71.tar.gz
rneovim-2d22e1f035ee5ae165f636ad7550fbd83013af71.tar.bz2
rneovim-2d22e1f035ee5ae165f636ad7550fbd83013af71.zip
vim-patch:7.4.601 #1950
Problem: It is not possible to have feedkeys() insert characters. Solution: Add the 'i' flag. https://code.google.com/p/vim/source/detail?r=v7-4-601
Diffstat (limited to 'src/nvim/api/vim.c')
-rw-r--r--src/nvim/api/vim.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c
index a84d3a4c92..e3f426719e 100644
--- a/src/nvim/api/vim.c
+++ b/src/nvim/api/vim.c
@@ -57,6 +57,7 @@ void vim_feedkeys(String keys, String mode, Boolean escape_csi)
FUNC_ATTR_DEFERRED
{
bool remap = true;
+ bool insert = false;
bool typed = false;
if (keys.size == 0) {
@@ -68,6 +69,7 @@ void vim_feedkeys(String keys, String mode, Boolean escape_csi)
case 'n': remap = false; break;
case 'm': remap = true; break;
case 't': typed = true; break;
+ case 'i': insert = true; break;
}
}
@@ -80,7 +82,7 @@ void vim_feedkeys(String keys, String mode, Boolean escape_csi)
keys_esc = keys.data;
}
ins_typebuf((char_u *)keys_esc, (remap ? REMAP_YES : REMAP_NONE),
- typebuf.tb_len, !typed, false);
+ insert ? 0 : typebuf.tb_len, !typed, false);
if (escape_csi) {
free(keys_esc);