diff --git a/lua/cmp/utils/keymap.lua b/lua/cmp/utils/keymap.lua index 5727cd0..8e916b9 100644 --- a/lua/cmp/utils/keymap.lua +++ b/lua/cmp/utils/keymap.lua @@ -16,12 +16,15 @@ end ---@param keys string ---@return string keymap.normalize = function(keys) - vim.api.nvim_set_keymap('t', '(cmp.utils.keymap.normalize)', keys, {}) - for _, map in ipairs(vim.api.nvim_get_keymap('t')) do - if keymap.equals(map.lhs, '(cmp.utils.keymap.normalize)') then - return map.rhs + local normalize_buf = vim.api.nvim_create_buf(false, true) + vim.api.nvim_buf_set_keymap(normalize_buf, 't', keys, '(cmp.utils.keymap.normalize)', {}) + for _, map in ipairs(vim.api.nvim_buf_get_keymap(normalize_buf, 't')) do + if keymap.equals(map.rhs, '(cmp.utils.keymap.normalize)') then + vim.api.nvim_buf_delete(normalize_buf, {}) + return map.lhs end end + vim.api.nvim_buf_delete(normalize_buf, {}) return keys end