47 lines
2.0 KiB
Lua
47 lines
2.0 KiB
Lua
|
|
-- 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" },
|
||
|
|
},
|
||
|
|
},
|
||
|
|
},
|
||
|
|
}
|