diff options
Diffstat (limited to 'lua/lvim/core/cmp.lua')
-rw-r--r-- | lua/lvim/core/cmp.lua | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/lua/lvim/core/cmp.lua b/lua/lvim/core/cmp.lua index 36150928..142d548f 100644 --- a/lua/lvim/core/cmp.lua +++ b/lua/lvim/core/cmp.lua @@ -118,15 +118,14 @@ end M.methods.jumpable = jumpable M.config = function() - local status_cmp_ok, cmp_types = pcall(require, "cmp.types.cmp") + local status_cmp_ok, cmp = pcall(require, "cmp") if not status_cmp_ok then return end - - local cmp = require("lvim.utils.modules").require_on_index "cmp" - local luasnip = require("lvim.utils.modules").require_on_index "luasnip" - local cmp_window = require "cmp.config.window" - local cmp_mapping = require "cmp.config.mapping" + local status_luasnip_ok, luasnip = pcall(require, "luasnip") + if not status_luasnip_ok then + return + end lvim.builtin.cmp = { active = true, @@ -139,7 +138,7 @@ M.config = function() return lvim.builtin.cmp.active end, confirm_opts = { - behavior = cmp_types.ConfirmBehavior.Replace, + behavior = cmp.ConfirmBehavior.Replace, select = false, }, completion = { @@ -219,8 +218,8 @@ M.config = function() end, }, window = { - completion = cmp_window.bordered(), - documentation = cmp_window.bordered(), + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), }, sources = { { @@ -278,24 +277,24 @@ M.config = function() { name = "crates" }, { name = "tmux" }, }, - mapping = cmp_mapping.preset.insert { - ["<C-k>"] = cmp_mapping(cmp_mapping.select_prev_item(), { "i", "c" }), - ["<C-j>"] = cmp_mapping(cmp_mapping.select_next_item(), { "i", "c" }), - ["<Down>"] = cmp_mapping(cmp_mapping.select_next_item { behavior = cmp_types.SelectBehavior.Select }, { "i" }), - ["<Up>"] = cmp_mapping(cmp_mapping.select_prev_item { behavior = cmp_types.SelectBehavior.Select }, { "i" }), - ["<C-d>"] = cmp_mapping.scroll_docs(-4), - ["<C-f>"] = cmp_mapping.scroll_docs(4), - ["<C-y>"] = cmp_mapping { - i = cmp_mapping.confirm { behavior = cmp_types.ConfirmBehavior.Replace, select = false }, + mapping = cmp.mapping.preset.insert { + ["<C-k>"] = cmp.mapping(cmp.mapping.select_prev_item(), { "i", "c" }), + ["<C-j>"] = cmp.mapping(cmp.mapping.select_next_item(), { "i", "c" }), + ["<Down>"] = cmp.mapping(cmp.mapping.select_next_item { behavior = cmp.SelectBehavior.Select }, { "i" }), + ["<Up>"] = cmp.mapping(cmp.mapping.select_prev_item { behavior = cmp.SelectBehavior.Select }, { "i" }), + ["<C-d>"] = cmp.mapping.scroll_docs(-4), + ["<C-f>"] = cmp.mapping.scroll_docs(4), + ["<C-y>"] = cmp.mapping { + i = cmp.mapping.confirm { behavior = cmp.ConfirmBehavior.Replace, select = false }, c = function(fallback) if cmp.visible() then - cmp.confirm { behavior = cmp_types.ConfirmBehavior.Replace, select = false } + cmp.confirm { behavior = cmp.ConfirmBehavior.Replace, select = false } else fallback() end end, }, - ["<Tab>"] = cmp_mapping(function(fallback) + ["<Tab>"] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() elseif luasnip.expand_or_locally_jumpable() then @@ -309,7 +308,7 @@ M.config = function() fallback() end end, { "i", "s" }), - ["<S-Tab>"] = cmp_mapping(function(fallback) + ["<S-Tab>"] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_prev_item() elseif luasnip.jumpable(-1) then @@ -318,16 +317,16 @@ M.config = function() fallback() end end, { "i", "s" }), - ["<C-Space>"] = cmp_mapping.complete(), - ["<C-e>"] = cmp_mapping.abort(), - ["<CR>"] = cmp_mapping(function(fallback) + ["<C-Space>"] = cmp.mapping.complete(), + ["<C-e>"] = cmp.mapping.abort(), + ["<CR>"] = cmp.mapping(function(fallback) if cmp.visible() then local confirm_opts = vim.deepcopy(lvim.builtin.cmp.confirm_opts) -- avoid mutating the original opts below local is_insert_mode = function() return vim.api.nvim_get_mode().mode:sub(1, 1) == "i" end if is_insert_mode() then -- prevent overwriting brackets - confirm_opts.behavior = cmp_types.ConfirmBehavior.Insert + confirm_opts.behavior = cmp.ConfirmBehavior.Insert end if cmp.confirm(confirm_opts) then return -- success, exit early |