return { 'saghen/blink.cmp', event = 'InsertEnter', 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)(), dependencies = { { 'rafamadriz/friendly-snippets', config = function() require('luasnip.loaders.from_vscode').lazy_load() end, }, }, opts = {}, }, 'folke/lazydev.nvim', 'zbirenbaum/copilot.lua', 'giuxtaposition/blink-cmp-copilot', }, opts = { -- 'default' (recommended) for mappings similar to built-in completions (C-y to accept) -- 'super-tab' for mappings similar to vscode (tab to accept) -- 'enter' for enter to accept -- 'none' for no mappings keymap = { preset = 'default' }, -- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font' -- Adjusts spacing to ensure icons are aligned appearance = { nerd_font_variant = 'mono' }, completion = { documentation = { auto_show = false, auto_show_delay_ms = 200 }, }, sources = { default = { 'lsp', 'path', 'snippets', 'lazydev', 'buffer', 'copilot' }, providers = { lazydev = { module = 'lazydev.integrations.blink', score_offset = 100 }, copilot = { module = 'blink-cmp-copilot', score_offset = 100, async = true }, }, }, snippets = { preset = 'luasnip' }, -- (Default) Rust fuzzy matcher for typo resistance and significantly better performance -- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation, -- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"` fuzzy = { implementation = 'prefer_rust_with_warning' }, signature = { enabled = true }, }, }