diff --git a/lua/recipes.lua b/lua/recipes.lua index 771efff00..d89913ef4 100644 --- a/lua/recipes.lua +++ b/lua/recipes.lua @@ -26,6 +26,11 @@ return { local cmp = require("cmp") + opts.preselect = cmp.PreselectMode.None + opts.completion = { + completeopt = "menu,menuone,noinsert,noselect", + } + opts.mapping = vim.tbl_extend("force", opts.mapping, { [""] = cmp.mapping(function(fallback) if cmp.visible() then @@ -52,6 +57,17 @@ return { fallback() end end, { "i", "s" }), + [""] = cmp.mapping({ + i = function(fallback) + if cmp.visible() and cmp.get_active_entry() then + cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }) + else + fallback() + end + end, + s = cmp.mapping.confirm({ select = true }), + c = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }), + }), }) end, },