-- lua/plugins/completion.lua -- Autocompletion via blink.cmp + LuaSnip snippets return { 'saghen/blink.cmp', event = 'VimEnter', version = '1.*', dependencies = { { 'L3MON4D3/LuaSnip', version = '2.*', build = (function() -- Regex support in snippets requires a build step. -- Skip on Windows or when make is unavailable. if vim.fn.has 'win32' == 1 or vim.fn.executable 'make' == 0 then return end return 'make install_jsregexp' end)(), }, 'folke/lazydev.nvim', }, --- @module 'blink.cmp' --- @type blink.cmp.Config opts = { keymap = { -- super-tab: Tab to accept, C-n/C-p to navigate preset = 'super-tab', }, appearance = { nerd_font_variant = 'mono', }, completion = { documentation = { auto_show = true, auto_show_delay_ms = 300 }, menu = { border = 'rounded', }, }, sources = { default = { 'lsp', 'path', 'snippets', 'lazydev' }, providers = { lazydev = { module = 'lazydev.integrations.blink', score_offset = 100 }, }, }, snippets = { preset = 'luasnip' }, fuzzy = { implementation = 'lua' }, signature = { enabled = true, window = { border = 'rounded' } }, }, }