Add autopairs to nvim-cmp

This commit is contained in:
2024-01-03 00:44:27 +01:00
parent 3dadfbbe13
commit ecce5c3f76
3 changed files with 33 additions and 7 deletions

View File

@@ -1,6 +1,10 @@
--- Ensure plugins are installed
local ok, cmp, luasnip, lspkind = pcall(function()
return require("cmp"), require("luasnip"), require("lspkind")
local ok, cmp, luasnip, luasnip_from_vscode, lspkind, cmp_autopairs = pcall(function()
return require("cmp"),
require("luasnip"),
require("luasnip.loaders.from_vscode"),
require("lspkind"),
require("nvim-autopairs.completion.cmp")
end)
if not ok then
@@ -8,8 +12,9 @@ if not ok then
end
--- loads vscode style snippets from installed plugins (e.g. friendly-snippets)
require("luasnip.loaders.from_vscode").lazy_load()
luasnip_from_vscode.lazy_load()
--- Plugin options
local opts = {
completion = {
completeopt = "menu,menuone,preview,noselect",
@@ -40,4 +45,24 @@ local opts = {
},
}
--- Load plugin
cmp.setup(opts)
--- Add autopairs
cmp.event:on(
"confirm_done",
cmp_autopairs.on_confirm_done({
filetypes = {
-- "*" is a alias to all filetypes
["*"] = {
["("] = {
kind = {
cmp.lsp.CompletionItemKind.Function,
cmp.lsp.CompletionItemKind.Method,
},
},
},
},
})
)