nvim-minimal/lua/plugins/blink.lua

47 lines
2.0 KiB
Lua
Raw Permalink Normal View History

-- saghen/blink.cmp: fast completion (Rust-backed, prebuilt binary).
-- Sources are buffer words + file paths only (no LSP). Filename completion
-- comes from the `path` source, triggered by typing `/` or `./`.
-- `version = "*"` pulls a release tag, which ships a prebuilt `libblink`
-- binary (x86_64/arm64, linux/mac) — no Rust toolchain needed on those arches.
return {
{
"saghen/blink.cmp",
event = "InsertEnter",
version = "*",
opts = {
sources = {
default = { "buffer", "path" },
},
completion = {
ghost_text = { enabled = false },
list = { selection = { preselect = false, auto_insert = false } },
},
keymap = {
preset = "super-tab",
["<C-space>"] = { "show", "show_documentation", "hide_documentation" },
["<C-e>"] = { "hide", "fallback" },
["<Tab>"] = {
"select_next",
function(cmp)
if cmp.snippet_active() then
return cmp.accept()
else
return cmp.select_and_accept()
end
end,
"snippet_forward",
"fallback",
},
["<S-Tab>"] = { "select_prev", "snippet_backward", "fallback" },
["<cr>"] = { "select_and_accept", "fallback_to_mappings" },
["<Up>"] = { "select_prev", "fallback" },
["<Down>"] = { "select_next", "fallback" },
["<C-p>"] = { "select_prev", "fallback_to_mappings" },
["<C-n>"] = { "select_next", "fallback_to_mappings" },
["<C-b>"] = { "scroll_documentation_up", "fallback" },
["<C-f>"] = { "scroll_documentation_down", "fallback" },
["<C-k>"] = { "show_signature", "hide_signature", "fallback" },
},
},
},
}