65 lines
1.6 KiB
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' } },
|
|
},
|
|
},
|
|
},
|
|
}
|