kickstart.nvim/lua/plugins/core/completion.lua

65 lines
1.6 KiB
Lua

-- ========================================================================
-- COMPLETION PLUGIN
-- ========================================================================
-- Autocompletion engine with LSP integration
-- - Blink.cmp: Fast completion engine
-- - LuaSnip: Snippet engine
-- - Lazydev: Lua LSP for Neovim config
-- ========================================================================
return {
-- Autocompletion
{
'saghen/blink.cmp',
event = 'VimEnter',
version = '1.*',
dependencies = {
{
'L3MON4D3/LuaSnip',
version = '2.*',
build = (function()
if vim.fn.has 'win32' == 1 or vim.fn.executable 'make' == 0 then
return
end
return 'make install_jsregexp'
end)(),
opts = {},
},
'folke/lazydev.nvim',
},
---@module 'blink.cmp'
---@type blink.cmp.Config
opts = {
keymap = {
preset = 'enter',
},
appearance = {
nerd_font_variant = 'mono',
},
completion = {
documentation = { auto_show = false, auto_show_delay_ms = 500 },
},
sources = {
default = { 'lsp', 'path', 'snippets', 'lazydev' },
providers = {
lazydev = { module = 'lazydev.integrations.blink', score_offset = 100 },
},
},
snippets = { preset = 'luasnip' },
fuzzy = { implementation = 'lua' },
signature = { enabled = true },
},
},
-- Lazydev: Lua LSP for Neovim config
{
'folke/lazydev.nvim',
ft = 'lua',
opts = {
library = {
{ path = '${3rd}/luv/library', words = { 'vim%.uv' } },
},
},
},
}