dots/configs/nvim/lua/aleidk/plugins/completion.lua
2025-09-01 12:17:39 -04:00

64 lines
1.5 KiB
Lua

return {
"saghen/blink.cmp",
lazy = false,
version = "*",
dependencies = {
"neovim/nvim-lspconfig",
"echasnovski/mini.nvim",
"folke/lazydev.nvim",
{ "saghen/blink.compat", version = "*", },
},
opts = function()
local window_options = {
border = "rounded",
winblend = vim.o.pumblend,
}
---@module 'blink.cmp'
---@type blink.cmp.Config
return {
appearance = {
nerd_font_variant = 'mono'
},
completion = {
accept = { auto_brackets = { enabled = true }, },
-- Show documentation when selecting a completion item
documentation = { auto_show = true, auto_show_delay_ms = 500 },
-- Display a preview of the selected item on the current line
ghost_text = { enabled = true },
},
keymap = {
preset = "enter",
["<C-j>"] = { 'select_next', 'fallback' },
["<C-k>"] = { 'select_prev', 'fallback' },
["<C-u>"] = { 'scroll_documentation_up', 'fallback' },
["<C-d>"] = { 'scroll_documentation_down', 'fallback' },
},
sources = {
providers = {
lazydev = { name = "LazyDev", module = "lazydev.integrations.blink" },
luasnip = {
name = 'luasnip',
module = 'blink.compat.source',
score_offset = -3,
opts = {
use_show_condition = false,
show_autosnippets = true,
},
},
},
default = {
"lsp",
"path",
"snippets",
"buffer",
"lazydev",
},
per_filetype = {
sql = { 'snippets', 'dadbod', 'buffer' },
},
},
}
end
}