diff --git a/lua/cmp/config.lua b/lua/cmp/config.lua index 15ea8ef..b7b13a9 100644 --- a/lua/cmp/config.lua +++ b/lua/cmp/config.lua @@ -82,7 +82,10 @@ config.get = function() global_config.revision or 0, onetime_config.revision or 0, }, function() - return misc.merge(config.normalize(onetime_config), config.normalize(global_config)) + local c = {} + c = misc.merge(c, config.normalize(onetime_config)) + c = misc.merge(c, config.normalize(global_config)) + return c end) elseif api.is_cmdline_mode() then local cmdtype = vim.fn.getcmdtype() @@ -94,7 +97,11 @@ config.get = function() cmdtype, cmdline_config.revision or 0, }, function() - return misc.merge(config.normalize(cmdline_config), misc.merge(global_config)) + local c = {} + c = misc.merge(c, config.normalize(cmdline_config)) + c = misc.merge(c, config.normalize(global_config)) + print(vim.inspect(c.mapping)) + return c end) else local bufnr = vim.api.nvim_get_current_buf() diff --git a/lua/cmp/utils/misc.lua b/lua/cmp/utils/misc.lua index 9535f28..5b61276 100644 --- a/lua/cmp/utils/misc.lua +++ b/lua/cmp/utils/misc.lua @@ -99,6 +99,9 @@ misc.merge = function(v1, v2) if v2 == misc.none then return nil else + if type(v2) == 'table' then + return misc.merge({}, v2) + end return v2 end end @@ -251,3 +254,4 @@ misc.redraw = setmetatable({ }) return misc +