dotfiles/config/nvim/lua/plugins/cmp.lua

67 lines
1.5 KiB
Lua

return {
"saghen/blink.cmp",
lazy = false,
version = "1.*",
dependencies = {
{
"L3MON4D3/LuaSnip",
version = "v2.*",
build = "make install_jsregexp",
dependencies = { "rafamadriz/friendly-snippets" },
config = function()
local ls = require("luasnip")
local s = ls.snippet
local sn = ls.snippet_node
local t = ls.text_node
local i = ls.insert_node
local f = ls.function_node
local c = ls.choice_node
local d = ls.dynamic_node
local r = ls.restore_node
local fmt = require("luasnip.extras.fmt").fmt
local rep = require("luasnip.extras").rep
ls.config.setup({
history = true,
update_events = "TextChanged,TextChangedI",
})
require("luasnip.loaders.from_vscode").lazy_load()
require("luasnip.loaders.from_vscode").lazy_load({
paths = { vim.fn.stdpath("config") .. "/snippets" },
})
end,
},
},
opts = {
keymap = {
preset = "enter",
},
completion = {
list = {
selection = {
preselect = false,
auto_insert = false,
},
},
ghost_text = {
enabled = true,
},
},
cmdline = {
keymap = {
preset = "inherit",
["<Tab>"] = { "show", "accept" },
},
completion = {
menu = { auto_show = false },
ghost_text = { enabled = true },
},
sources = { "cmdline" },
},
signature = { enabled = true },
snippets = { preset = "luasnip" },
sources = {
default = { "lsp", "path", "snippets", "buffer", "codecompanion" },
},
},
}