89 lines
2.8 KiB
Lua
89 lines
2.8 KiB
Lua
require("blink.cmp").setup({
|
|
completion = {
|
|
documentation = {
|
|
auto_show = true,
|
|
window = {
|
|
winhighlight = "",
|
|
},
|
|
},
|
|
ghost_text = {
|
|
enabled = true,
|
|
},
|
|
list = {
|
|
selection = {
|
|
preselect = false,
|
|
auto_insert = false,
|
|
},
|
|
},
|
|
menu = {
|
|
border = "none",
|
|
draw = {
|
|
align_to = "simple_label",
|
|
columns = {
|
|
{ "simple_label" },
|
|
{ "kind_icon", "label_description", gap = 1 },
|
|
},
|
|
components = {
|
|
simple_label = {
|
|
width = { fill = true, max = 60 },
|
|
text = function(ctx)
|
|
return ctx.label
|
|
end,
|
|
highlight = function(ctx)
|
|
local highlights = {
|
|
{
|
|
0,
|
|
#ctx.label,
|
|
group = ctx.deprecated
|
|
and "BlinkCmpLabelDeprecated"
|
|
or "BlinkCmpLabel",
|
|
},
|
|
}
|
|
for _, idx in ipairs(ctx.label_matched_indices) do
|
|
table.insert(highlights, {
|
|
idx,
|
|
idx + 1,
|
|
group = "BlinkCmpLabelMatch",
|
|
})
|
|
end
|
|
|
|
return highlights
|
|
end,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
fuzzy = {
|
|
implementation = "prefer_rust_with_warning",
|
|
},
|
|
signature = {
|
|
enabled = true,
|
|
window = {
|
|
winhighlight = "",
|
|
show_documentation = false,
|
|
},
|
|
},
|
|
sources = {
|
|
default = {
|
|
"lsp",
|
|
"path",
|
|
},
|
|
transform_items = function(_, items)
|
|
return vim.tbl_filter(function(item)
|
|
return item.kind
|
|
~= require("blink.cmp.types").CompletionItemKind.Snippet
|
|
end, items)
|
|
end,
|
|
},
|
|
keymap = {
|
|
preset = "none",
|
|
["<Tab>"] = { "insert_next", "fallback" },
|
|
["<S-Tab>"] = { "insert_prev", "fallback" },
|
|
["<CR>"] = { "accept", "fallback" },
|
|
["<C-k>"] = { "show_signature", "hide_signature", "fallback" },
|
|
["<C-n>"] = { "snippet_forward", "fallback" },
|
|
["<C-p>"] = { "snippet_backward", "fallback" },
|
|
},
|
|
})
|