diff --git a/lua/cmp/utils/keymap.lua b/lua/cmp/utils/keymap.lua index 09c96fc..3439067 100644 --- a/lua/cmp/utils/keymap.lua +++ b/lua/cmp/utils/keymap.lua @@ -99,10 +99,14 @@ keymap.feedkeys = setmetatable({ callbacks = {}, }, { __call = function(self, keys, mode, callback) - if #keys ~= 0 then - vim.api.nvim_feedkeys(keys, mode, true) + if #keys == 0 then + return callback and callback() or nil end + vim.api.nvim_feedkeys(keymap.t('set eventignore=all'), 'n', true) + vim.api.nvim_feedkeys(keys, mode, true) + vim.api.nvim_feedkeys(keymap.t(('set eventignore=%s'):format(vim.o.eventignore)), 'n', true) + if callback then if vim.fn.reg_recording() == '' then local id = misc.id('cmp.utils.keymap.feedkeys')