Fix cache problem #272

This commit is contained in:
hrsh7th
2021-10-07 14:33:45 +09:00
parent a39f72a463
commit 5bed2dc9f3

View File

@@ -33,9 +33,10 @@ end
---@return cmp.ConfigSchema ---@return cmp.ConfigSchema
config.get = function() config.get = function()
local bufnr = vim.api.nvim_get_current_buf()
local global = config.global local global = config.global
local buffer = config.buffers[vim.api.nvim_get_current_buf()] or { revision = 1 } local buffer = config.buffers[bufnr] or { revision = 1 }
return config.cache:ensure({ 'get', global.revision or 0, buffer.revision or 0 }, function() return config.cache:ensure({ 'get', bufnr, global.revision or 0, buffer.revision or 0 }, function()
return misc.merge(buffer, global) return misc.merge(buffer, global)
end) end)
end end
@@ -53,9 +54,10 @@ end
---@param name string ---@param name string
---@return cmp.SourceConfig ---@return cmp.SourceConfig
config.get_source_config = function(name) config.get_source_config = function(name)
local bufnr = vim.api.nvim_get_current_buf()
local global = config.global local global = config.global
local buffer = config.buffers[vim.api.nvim_get_current_buf()] or { revision = 1 } local buffer = config.buffers[bufnr] or { revision = 1 }
return config.cache:ensure({ 'get_source_config', global.revision or 0, buffer.revision or 0, name }, function() return config.cache:ensure({ 'get_source_config', bufnr, global.revision or 0, buffer.revision or 0, name }, function()
local c = config.get() local c = config.get()
for _, s in ipairs(c.sources) do for _, s in ipairs(c.sources) do
if s.name == name then if s.name == name then