return { 'saghen/blink.cmp', -- optional: provides snippets for the snippet source dependencies = { 'mikavilpas/blink-ripgrep.nvim', 'rafamadriz/friendly-snippets', { 'L3MON4D3/LuaSnip', version = 'v2.*' } }, -- use a release tag to download pre-built binaries version = 'v1.4.*', opts = { fuzzy = { implementation = 'prefer_rust_with_warning' }, snippets = { preset = 'luasnip', }, cmdline = { keymap = { preset = 'cmdline' }, completion = { list = { selection = { preselect = false, auto_insert = true } } } }, completion = { list = { selection = { preselect = false, auto_insert = true } } }, keymap = { preset = 'enter', [''] = { 'select_next', 'snippet_forward', 'fallback' }, [''] = { 'select_prev', 'snippet_backward', 'fallback' }, }, appearance = { use_nvim_cmp_as_default = true, nerd_font_variant = 'mono' }, sources = { default = { 'lazydev', 'lsp', 'snippets', 'ripgrep', 'path', 'buffer' }, providers = { lazydev = { name = 'LazyDev', module = 'lazydev.integrations.blink', -- make lazydev completions top priority (see `:h blink.cmp`) score_offset = 100, }, ripgrep = { module = 'blink-ripgrep', name = 'Ripgrep', score_offset = -2, -- the options below are optional, some default values are shown ---@module 'blink-ripgrep' ---@type blink-ripgrep.Options opts = { max_filesize = '1M', project_root_marker = '.git', project_root_fallback = true, search_casing = '--ignore-case', additional_rg_options = {}, fallback_to_regex_highlighting = true, ignore_paths = {}, additional_paths = {}, future_features = { backend = { use = 'ripgrep', }, }, debug = false, }, transform_items = function(_, items) for _, item in ipairs(items) do -- example: append a description to easily distinguish rg results item.labelDetails = { description = '(rg)', } end return items end, }, }, }, signature = { enabled = true } }, }