return { 'saghen/blink.cmp', event = 'VimEnter', version = '1.*', dependencies = { -- Snippet Engine { 'L3MON4D3/LuaSnip', version = '2.*', build = (function() -- Build Step is needed for regex support in snippets. -- This step is not supported in many windows environments. -- Remove the below condition to re-enable on windows. if vim.fn.has 'win32' == 1 or vim.fn.executable 'make' == 0 then return end return 'make install_jsregexp' end)(), dependencies = { -- `friendly-snippets` contains a variety of premade snippets. -- See the README about individual language/framework/plugin snippets: -- https://github.com/rafamadriz/friendly-snippets -- { -- 'rafamadriz/friendly-snippets', -- config = function() -- require('luasnip.loaders.from_vscode').lazy_load() -- end, -- }, }, opts = {}, }, 'folke/lazydev.nvim', }, --- @module 'blink.cmp' --- @type blink.cmp.Config opts = { keymap = { -- All presets have the following mappings: -- /: move to right/left of your snippet expansion -- : Open menu or open docs if already open -- / or /: Select next/previous item -- : Hide menu -- : Toggle signature help -- -- See :h blink-cmp-config-keymap for defining your own keymap preset = 'super-tab', }, appearance = { nerd_font_variant = 'mono' }, completion = { menu = { -- min_width = 30, -- max_width = 50, -- max_height = 20, border = 'rounded', -- Rounded corners for a fancy look winblend = 10, -- Slight transparency for a modern look winhighlight = 'Normal:BlinkCmpMenu,FloatBorder:BlinkCmpMenuBorder,CursorLine:BlinkCmpMenuSelection,Search:None', scrolloff = 2, }, documentation = { -- By default, you may press `` to show the documentation. auto_show = true, auto_show_delay_ms = 200, window = { border = 'rounded', winblend = 10, winhighlight = 'Normal:BlinkCmpDoc,FloatBorder:BlinkCmpDocBorder,CursorLine:BlinkCmpDocCursorLine,Search:None', }, }, ghost_text = { enabled = true }, accept = { auto_brackets = { enabled = true } }, }, sources = { default = { 'lsp', 'path', 'snippets', 'lazydev' }, providers = { lazydev = { module = 'lazydev.integrations.blink', score_offset = 100 }, }, }, snippets = { preset = 'luasnip' }, -- See :h blink-cmp-config-fuzzy for more information fuzzy = { implementation = 'prefer_rust_with_warning' }, -- Shows a signature help window while you type arguments for a function signature = { enabled = true } }, }