.dotfiles/.config/nvim/lua/plugins/blink.lua
2025-06-14 01:49:13 +03:00

82 lines
1.8 KiB
Lua

return {
"saghen/blink.cmp",
dependencies = {
{ "L3MON4D3/LuaSnip", version = "v2.*" },
},
version = "1.*",
opts = {
fuzzy = {
-- implementation = "rust",
use_frecency = true,
use_proximity = true,
use_unsafe_no_lock = false,
sorts = {
function(a, b)
if (a.client_name == nil or b.client_name == nil) or (a.client_name == b.client_name) then
return
end
return b.client_name == "emmet_language_server"
end,
"exact",
"score",
"sort_text",
},
},
keymap = {
preset = "enter",
["<C-space>"] = { "hide", "show", "fallback" },
},
completion = {
trigger = {
-- 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", "snippets", "lsp", "path", "buffer" },
providers = {
lazydev = {
name = "LazyDev",
module = "lazydev.integrations.blink",
-- make lazydev completions top priority (see `:h blink.cmp`)
score_offset = 100,
},
snippets = {
min_keyword_length = 1,
score_offset = 4,
},
lsp = {
min_keyword_length = 3,
score_offset = 3,
},
path = {
min_keyword_length = 3,
score_offset = 2,
},
buffer = {
min_keyword_length = 5,
score_offset = 1,
},
},
},
signature = { enabled = true },
},
}