return { '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 = 'default', [''] = { 'select_and_accept', 'fallback' }, [''] = { 'cancel', 'fallback' }, [''] = { function(cmp) cmp.show { providers = { 'minuet' } } end, }, }, appearance = { nerd_font_variant = 'mono', }, completion = { menu = { auto_show = true }, ghost_text = { enabled = true, show_without_selection = true, show_with_menu = true, }, documentation = { auto_show = true, auto_show_delay_ms = 500 }, trigger = { prefetch_on_insert = false }, }, sources = { default = { 'lsp', 'path', 'snippets', 'lazydev', 'codecompanion', 'minuet' }, providers = { lazydev = { module = 'lazydev.integrations.blink', score_offset = 100 }, codecompanion = { name = 'codecompanion', module = 'codecompanion.providers.completion.blink', enabled = true, }, minuet = { name = 'minuet', module = 'minuet.blink', async = true, timeout_ms = 3000, score_offset = 50, }, }, }, snippets = { preset = 'luasnip' }, fuzzy = { implementation = 'lua' }, signature = { enabled = true }, }, }