diff --git a/lua/cmp/config.lua b/lua/cmp/config.lua index 9886a20..ac0dbf1 100644 --- a/lua/cmp/config.lua +++ b/lua/cmp/config.lua @@ -74,7 +74,9 @@ end ---@return cmp.ConfigSchema config.get = function() local global_config = config.global - if config.onetime and not vim.tbl_isempty(config.onetime) then + + -- The config object already has `revision` key. + if #vim.tbl_keys(config.onetime) > 1 then local onetime_config = config.onetime return config.cache:ensure({ 'get', diff --git a/lua/cmp/view.lua b/lua/cmp/view.lua index 42f5664..027743a 100644 --- a/lua/cmp/view.lua +++ b/lua/cmp/view.lua @@ -209,9 +209,16 @@ view._get_entries_view = function(self) local c = config.get() local v = self.custom_entries_view if (c.view and c.view.entries and (c.view.entries.name or c.view.entries)) == 'wildmenu' then + self.custom_entries_view:close() + self.native_entries_view:close() v = self.wildmenu_entries_view elseif (c.view and c.view.entries and (c.view.entries.name or c.view.entries)) == 'native' then + self.custom_entries_view:close() + self.wildmenu_entries_view:close() v = self.native_entries_view + else + self.native_entries_view:close() + self.wildmenu_entries_view:close() end v.event:on('change', function() self:on_entry_change()