.dotfiles/.config/nvim/lua/plugins/blink.lua
2026-02-23 22:20:58 +02:00

75 lines
1.9 KiB
Lua

return {
"saghen/blink.cmp",
dependencies = {
{ "L3MON4D3/LuaSnip", version = "v2.*" },
},
version = "1.*",
config = function()
require("blink.cmp").setup({
fuzzy = {
frecency = {
enabled = true,
unsafe_no_lock = false,
},
use_proximity = true,
sorts = {
-- "exact",
"score",
"sort_text",
"label",
},
},
keymap = {
preset = "enter",
["<C-space>"] = { "hide", "show", "fallback" },
["<A-y>"] = require("minuet").make_blink_map(),
},
completion = {
trigger = {
prefetch_on_insert = false,
-- show_in_snippet = false,
},
-- Disable showing for all alphanumeric keywords by default. Prefer LSP specific trigger
-- characters.
-- trigger = { show_on_keyword = false },
-- Controls whether the documentation window will automatically show when selecting a completion item
documentation = {
auto_show = true,
auto_show_delay_ms = 500,
window = {
border = "rounded",
scrollbar = false,
},
},
menu = {
border = "rounded",
draw = { gap = 2 },
scrollbar = false,
},
},
snippets = { preset = "luasnip" },
sources = {
-- add lazydev to your completion providers
default = { "lazydev", "lsp", "snippets", "path", "buffer" },
providers = {
lazydev = {
name = "LazyDev",
module = "lazydev.integrations.blink",
-- make lazydev completions top priority (see `:h blink.cmp`)
score_offset = 100,
},
minuet = {
name = "minuet",
module = "minuet.blink",
async = true,
-- Should match minuet.config.request_timeout * 1000,
-- since minuet.config.request_timeout is in seconds
timeout_ms = 3000,
score_offset = 50, -- Gives minuet higher priority among suggestions
},
},
},
signature = { enabled = true },
})
end,
}