55 lines
1.5 KiB
Lua
55 lines
1.5 KiB
Lua
-- =============================================================================
|
|
-- completion.lua — 智能补全
|
|
-- =============================================================================
|
|
|
|
return {
|
|
{
|
|
"saghen/blink.cmp",
|
|
version = "*",
|
|
event = "InsertEnter",
|
|
opts = {
|
|
keymap = {
|
|
preset = "super-tab",
|
|
["<C-j>"] = { "select_next" },
|
|
["<C-k>"] = { "select_prev" },
|
|
["<C-u>"] = { "scroll_documentation_up" },
|
|
["<C-n>"] = { "scroll_documentation_down" },
|
|
-- Tab 接受补全,回车仅用于确认输入(避免 nvim-tree 文件操作误触发)
|
|
["<Tab>"] = { "accept", "fallback" },
|
|
},
|
|
appearance = {
|
|
use_nvim_cmp_as_default = true,
|
|
nerd_font_variant = "normal",
|
|
},
|
|
sources = {
|
|
default = { "lsp", "path", "buffer", "snippets" },
|
|
},
|
|
cmdline = {
|
|
enabled = true,
|
|
sources = function()
|
|
if vim.fn.getcmdline():find("/") then
|
|
return { "buffer" }
|
|
end
|
|
return { "cmdline" }
|
|
end,
|
|
completion = { menu = { auto_show = true } },
|
|
},
|
|
completion = {
|
|
menu = {
|
|
border = "rounded",
|
|
draw = {
|
|
columns = {
|
|
{ "label", "label_description", gap = 1 },
|
|
{ "source_name" },
|
|
},
|
|
},
|
|
},
|
|
documentation = {
|
|
auto_show = true,
|
|
auto_show_delay_ms = 500,
|
|
window = { border = "rounded" },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
} |