feat: switch to blink.cmp for completion

This commit is contained in:
Devin Haska 2025-06-10 22:10:49 -07:00
parent b2e8d512ab
commit e4c4ec589a
Signed by: wonderfulfrog
SSH key fingerprint: SHA256:ejOGyH9064rJiikox4ykOHLeuUg1f9l8wmJxs+MzNw0
2 changed files with 87 additions and 76 deletions

View file

@ -1,78 +1,92 @@
return {
{
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer",
},
config = function()
local cmp = require("cmp")
cmp.setup({
-- Highlights the first result always
completion = {
completeopt = "menu,menuone,noinsert",
},
window = {
completion = cmp.config.window.bordered({
side_padding = 1,
scrollbar = false,
}),
},
mapping = cmp.mapping.preset.insert({
["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-o>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.abort(),
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
else
fallback()
end
end, { "i" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
else
fallback()
end
end, { "i" }),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
},
sources = cmp.config.sources({
{ name = "nvim_lsp" },
{ name = "nvim_lsp_signature_help" },
{ name = "luasnip" },
}, {
{ name = "buffer" },
}),
})
end,
},
{
"L3MON4D3/LuaSnip",
dependencies = {
{
"rafamadriz/friendly-snippets",
config = function()
require("luasnip.loaders.from_vscode").lazy_load({
exclude = { "html" },
})
end,
},
},
build = "make install_jsregexp",
"saghen/blink.cmp",
dependencies = { "rafamadriz/friendly-snippets" },
version = "1.*",
opts = {
history = true,
delete_check_events = "TextChanged",
keymap = {
preset = "enter",
["<S-Tab>"] = { "select_prev", "fallback" },
["<Tab>"] = { "select_next", "fallback" },
["<Enter>"] = { "select_and_accept", "fallback" },
},
completion = { documentation = { auto_show = true } },
},
},
-- {
-- "hrsh7th/nvim-cmp",
-- dependencies = {
-- "hrsh7th/cmp-nvim-lsp",
-- "hrsh7th/cmp-buffer",
-- },
-- config = function()
-- local cmp = require("cmp")
--
-- cmp.setup({
-- -- Highlights the first result always
-- completion = {
-- completeopt = "menu,menuone,noinsert",
-- },
-- window = {
-- completion = cmp.config.window.bordered({
-- side_padding = 1,
-- scrollbar = false,
-- }),
-- },
-- mapping = cmp.mapping.preset.insert({
-- ["<C-b>"] = cmp.mapping.scroll_docs(-4),
-- ["<C-f>"] = cmp.mapping.scroll_docs(4),
-- ["<C-o>"] = cmp.mapping.complete(),
-- ["<C-e>"] = cmp.mapping.abort(),
-- ["<Tab>"] = cmp.mapping(function(fallback)
-- if cmp.visible() then
-- cmp.select_next_item()
-- else
-- fallback()
-- end
-- end, { "i" }),
-- ["<S-Tab>"] = cmp.mapping(function(fallback)
-- if cmp.visible() then
-- cmp.select_prev_item()
-- else
-- fallback()
-- end
-- end, { "i" }),
-- ["<CR>"] = cmp.mapping.confirm({ select = true }),
-- }),
--
-- snippet = {
-- expand = function(args)
-- require("luasnip").lsp_expand(args.body)
-- end,
-- },
--
-- sources = cmp.config.sources({
-- { name = "nvim_lsp" },
-- { name = "nvim_lsp_signature_help" },
-- { name = "luasnip" },
-- }, {
-- { name = "buffer" },
-- }),
-- })
-- end,
-- },
-- {
-- "L3MON4D3/LuaSnip",
-- dependencies = {
-- {
-- "rafamadriz/friendly-snippets",
-- config = function()
-- require("luasnip.loaders.from_vscode").lazy_load({
-- exclude = { "html" },
-- })
-- end,
-- },
-- },
-- build = "make install_jsregexp",
-- opts = {
-- history = true,
-- delete_check_events = "TextChanged",
-- },
-- },
}