feat: add blink.cmp and disable custom completion pipeline
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
local blink = require("blink.cmp")
|
||||
blink.setup({
|
||||
completion = {
|
||||
documentation = {
|
||||
auto_show = true,
|
||||
auto_show_delay_ms = 0,
|
||||
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" },
|
||||
},
|
||||
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",
|
||||
"snippets",
|
||||
},
|
||||
transform_items = function(_, items)
|
||||
---@param item blink.cmp.CompletionItem
|
||||
return vim.tbl_map(function(item)
|
||||
item.kind_icon, item.kind_hl =
|
||||
require("lsp.kind").get(item.kind)
|
||||
|
||||
return item
|
||||
end, items)
|
||||
end,
|
||||
},
|
||||
keymap = {
|
||||
preset = "default",
|
||||
["<CR>"] = { "accept", "fallback" },
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user