summaryrefslogtreecommitdiff
path: root/lua/core/cmp.lua
diff options
context:
space:
mode:
authorChase Colman <[email protected]>2021-09-21 14:54:47 +0800
committerGitHub <[email protected]>2021-09-21 08:54:47 +0200
commitfbfd8c1fc3d0df1e2169df64c2264de7e23a9105 (patch)
treecdc68773a6035f1eda89e396918ac92cb8ffe44e /lua/core/cmp.lua
parent279d537e9c96759ec0372496b786a2d28247d093 (diff)
feature: allow cmp confirm options to be configurable (#1523)
Diffstat (limited to 'lua/core/cmp.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