diff --git a/modules/programs/nvim/plugins/lua/nvim-cmp.lua b/modules/programs/nvim/plugins/lua/nvim-cmp.lua index 4b9c067..19d9ffe 100644 --- a/modules/programs/nvim/plugins/lua/nvim-cmp.lua +++ b/modules/programs/nvim/plugins/lua/nvim-cmp.lua @@ -10,6 +10,9 @@ cmp.setup({ ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead }), }, + enabled = function() + return not luasnip.jumpable(1) + end, snippet = { -- REQUIRED - you must specify a snippet engine expand = function(args) @@ -23,19 +26,19 @@ cmp.setup({ [""] = cmp.mapping.abort(), [""] = cmp.mapping.confirm({ select = true }), [""] = cmp.mapping(function(fallback) - if luasnip.jumpable(1) then - luasnip.jump(1) - elseif cmp.visible() then + if cmp.visible() then cmp.select_next_item({ behavior = cmp.SelectBehavior.Select }) + elseif luasnip.jumpable(1) then + luasnip.jump(1) else fallback() end end, { "i", "s" }), [""] = cmp.mapping(function(fallback) - if luasnip.jumpable(-1) then - luasnip.jump(-1) - elseif cmp.visible() then + if cmp.visible() then cmp.select_prev_item({ behavior = cmp.SelectBehavior.Select }) + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) else fallback() end @@ -43,8 +46,6 @@ cmp.setup({ [""] = cmp.mapping(function(fallback) if luasnip.choice_active() then luasnip.change_choice(1) - elseif cmp.visible() then - cmp.select_next_item({ behavior = cmp.SelectBehavior.Select }) else fallback() end @@ -52,8 +53,6 @@ cmp.setup({ [""] = cmp.mapping(function(fallback) if luasnip.choice_active() then luasnip.change_choice(-1) - elseif cmp.visible() then - cmp.select_prev_item({ behavior = cmp.SelectBehavior.Select }) else fallback() end