From db261b4e2b923e4ba5f748b2d20f2a0d066a4ca8 Mon Sep 17 00:00:00 2001 From: hrsh7th <629908+hrsh7th@users.noreply.github.com> Date: Sat, 20 Aug 2022 20:27:16 +0900 Subject: [PATCH] Fix onetime configuration handling --- lua/cmp/config.lua | 4 +++- lua/cmp/view.lua | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) 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()