From 160405250e85c5d6ca1fd20c4cfc601e6c27ff19 Mon Sep 17 00:00:00 2001 From: Jaehwang Jung Date: Sun, 15 May 2022 18:44:21 +0900 Subject: [PATCH] Reuse scratch buffer for keymap normalization (#991) --- lua/cmp/utils/keymap.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lua/cmp/utils/keymap.lua b/lua/cmp/utils/keymap.lua index 8e916b9..aea5c1d 100644 --- a/lua/cmp/utils/keymap.lua +++ b/lua/cmp/utils/keymap.lua @@ -1,4 +1,5 @@ local misc = require('cmp.utils.misc') +local buffer = require('cmp.utils.buffer') local api = require('cmp.utils.api') local keymap = {} @@ -16,15 +17,15 @@ end ---@param keys string ---@return string keymap.normalize = function(keys) - local normalize_buf = vim.api.nvim_create_buf(false, true) + local normalize_buf = buffer.ensure('cmp.util.keymap.normalize') 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, {}) + vim.api.nvim_buf_del_keymap(normalize_buf, 't', keys) return map.lhs end end - vim.api.nvim_buf_delete(normalize_buf, {}) + vim.api.nvim_buf_del_keymap(normalize_buf, 't', keys) return keys end