From 669803b9ffb31b3963afb4f05c1622fc48ab65cb Mon Sep 17 00:00:00 2001 From: hrsh7th Date: Fri, 29 Oct 2021 22:44:41 +0900 Subject: [PATCH] Normalize mapping key before use May be fixes #431 --- lua/cmp/config.lua | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/lua/cmp/config.lua b/lua/cmp/config.lua index f052882..3edc17a 100644 --- a/lua/cmp/config.lua +++ b/lua/cmp/config.lua @@ -1,4 +1,5 @@ local cache = require('cmp.utils.cache') +local keymap = require('cmp.utils.keymap') local misc = require('cmp.utils.misc') local api = require('cmp.utils.api') @@ -49,13 +50,13 @@ config.get = function() local type = vim.fn.getcmdtype() local cmdline = config.cmdline[type] or { revision = 1, sources = {} } return config.cache:ensure({ 'get_cmdline', type, global.revision or 0, cmdline.revision or 0 }, function() - return misc.merge(cmdline, global) + return misc.merge(config.normalize(cmdline), config.normalize(global)) end) else local bufnr = vim.api.nvim_get_current_buf() local buffer = config.buffers[bufnr] or { revision = 1 } return config.cache:ensure({ 'get_buffer', bufnr, global.revision or 0, buffer.revision or 0 }, function() - return misc.merge(buffer, global) + return misc.merge(config.normalize(buffer), config.normalize(global)) end) end end @@ -90,4 +91,16 @@ config.get_source_config = function(name) end) end +---Normalize mapping key +---@param c cmp.ConfigSchema +---@return cmp.ConfigSchema +config.normalize = function(c) + if c.mapping then + for k, v in pairs(c.mapping) do + c.mapping[keymap.normalize(k)] = v + end + end + return c +end + return config