From 0c1f37c5188f941ab240d7d2efcf64d9755bb28a Mon Sep 17 00:00:00 2001 From: hrsh7th <> Date: Thu, 14 Apr 2022 02:37:21 +0900 Subject: [PATCH] Fix mapping normalization order --- lua/cmp/config.lua | 10 +++++----- lua/cmp/config/mapping.lua | 7 +++++-- lua/cmp/utils/misc_spec.lua | 12 ++++++++++++ 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/lua/cmp/config.lua b/lua/cmp/config.lua index ed1034f..15ea8ef 100644 --- a/lua/cmp/config.lua +++ b/lua/cmp/config.lua @@ -82,7 +82,7 @@ config.get = function() global_config.revision or 0, onetime_config.revision or 0, }, function() - return config.normalize(misc.merge(onetime_config, global_config)) + return misc.merge(config.normalize(onetime_config), config.normalize(global_config)) end) elseif api.is_cmdline_mode() then local cmdtype = vim.fn.getcmdtype() @@ -94,7 +94,7 @@ config.get = function() cmdtype, cmdline_config.revision or 0, }, function() - return config.normalize(misc.merge(cmdline_config, global_config)) + return misc.merge(config.normalize(cmdline_config), misc.merge(global_config)) end) else local bufnr = vim.api.nvim_get_current_buf() @@ -111,9 +111,9 @@ config.get = function() buffer_config.revision or 0, }, function() local c = {} - c = config.normalize(misc.merge(c, buffer_config)) - c = config.normalize(misc.merge(c, filetype_config)) - c = config.normalize(misc.merge(c, global_config)) + c = misc.merge(config.normalize(c), config.normalize(buffer_config)) + c = misc.merge(config.normalize(c), config.normalize(filetype_config)) + c = misc.merge(config.normalize(c), config.normalize(global_config)) return c end) end diff --git a/lua/cmp/config/mapping.lua b/lua/cmp/config/mapping.lua index 0367d98..8b2e8ba 100644 --- a/lua/cmp/config/mapping.lua +++ b/lua/cmp/config/mapping.lua @@ -50,7 +50,7 @@ mapping.preset.cmdline = function(override) if cmp.visible() then cmp.select_next_item() else - cmp.complete() + cmp.complete({ reason = cmp.ContextReason.Manual }) end end }, @@ -60,7 +60,7 @@ mapping.preset.cmdline = function(override) if cmp.visible() then cmp.select_prev_item() else - cmp.complete() + cmp.complete({ reason = cmp.ContextReason.Manual }) end end }, @@ -84,6 +84,9 @@ mapping.preset.cmdline = function(override) end end }, + [''] = { + c = mapping.close(), + }, }) end diff --git a/lua/cmp/utils/misc_spec.lua b/lua/cmp/utils/misc_spec.lua index 4e705ef..f687155 100644 --- a/lua/cmp/utils/misc_spec.lua +++ b/lua/cmp/utils/misc_spec.lua @@ -16,6 +16,18 @@ describe('misc', function() }) assert.are.equal(merged.a.b, 1) + merged = misc.merge({ + a = { + i = 1, + }, + }, { + a = { + c = 2, + }, + }) + assert.are.equal(merged.a.i, 1) + assert.are.equal(merged.a.c, 2) + merged = misc.merge({ a = false, }, {