From baa39271b2f6b52d8bc6a9789e795dfd662a8f2a Mon Sep 17 00:00:00 2001 From: Dmytro Meleshko Date: Mon, 1 Nov 2021 05:55:59 +0200 Subject: [PATCH] Fix native menu not respecting cmp.PreselectMode.None sometimes (#447) --- lua/cmp/view/native_entries_view.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lua/cmp/view/native_entries_view.lua b/lua/cmp/view/native_entries_view.lua index 6776361..939a5c7 100644 --- a/lua/cmp/view/native_entries_view.lua +++ b/lua/cmp/view/native_entries_view.lua @@ -35,12 +35,18 @@ end native_entries_view.on_change = function(self) if #self.entries > 0 and self.offset <= vim.api.nvim_win_get_cursor(0)[2] + 1 then + local preselect_enabled = config.get().preselect == types.cmp.PreselectMode.Item + local completeopt = vim.o.completeopt - vim.o.completeopt = self.preselect_index == 1 and 'menu,menuone,noinsert' or config.get().completion.completeopt + if self.preselect_index == 1 and preselect_enabled then + vim.o.completeopt = 'menu,menuone,noinsert' + else + vim.o.completeopt = config.get().completion.completeopt + end vim.fn.complete(self.offset, self.items) vim.o.completeopt = completeopt - if self.preselect_index > 1 and config.get().preselect == types.cmp.PreselectMode.Item then + if self.preselect_index > 1 and preselect_enabled then self:preselect(self.preselect_index) end end