summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/core/cmp.lua17
1 files changed, 13 insertions, 4 deletions
diff --git a/lua/core/cmp.lua b/lua/core/cmp.lua
index 928b7e3a..2bc724fb 100644
--- a/lua/core/cmp.lua
+++ b/lua/core/cmp.lua
@@ -30,6 +30,10 @@ M.config = function()
return
end
lvim.builtin.cmp = {
+ confirm_opts = {
+ behavior = cmp.ConfirmBehavior.Replace,
+ select = true,
+ },
formatting = {
format = function(entry, vim_item)
local icons = require("lsp.kind").icons
@@ -107,10 +111,15 @@ M.config = function()
["<C-Space>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.close(),
- ["<CR>"] = cmp.mapping.confirm {
- behavior = cmp.ConfirmBehavior.Replace,
- select = true,
- },
+ ["<CR>"] = cmp.mapping(function(fallback)
+ if not require("cmp").confirm(lvim.builtin.cmp.confirm_opts) then
+ if luasnip.jumpable() then
+ vim.fn.feedkeys(T "<Plug>luasnip-jump-next", "")
+ else
+ fallback()
+ end
+ end
+ end),
},
}
end