return { { "saghen/blink.cmp", dependencies = { "L3MON4D3/LuaSnip", "rafamadriz/friendly-snippets", }, version = "*", config = function() require("blink.cmp").setup({ snippets = { preset = "luasnip" }, signature = { enabled = true }, appearance = { use_nvim_cmp_as_default = false, nerd_font_variant = "normal", }, sources = { default = { "lsp", "path", "snippets", "buffer" }, providers = { cmdline = { min_keyword_length = 2, }, }, }, keymap = { [""] = { "show", "show_documentation", "hide_documentation", }, [""] = { "hide", "fallback" }, [""] = { "hide", "fallback" }, [""] = { "accept", "fallback" }, [""] = { "select_prev", "fallback" }, [""] = { "select_next", "fallback" }, }, cmdline = { enabled = true, completion = { menu = { auto_show = true } }, keymap = { [""] = { "accept_and_enter", "fallback" }, }, }, completion = { list = { selection = { auto_insert = true, preselect = false, }, }, menu = { border = "rounded", scrolloff = 1, scrollbar = true, draw = { columns = { { "kind_icon" }, { "label", "label_description", gap = 1 }, { "kind" }, { "source_name" }, }, }, }, documentation = { auto_show = true, auto_show_delay_ms = 200, }, }, fuzzy = { -- Frecency tracks the most recently/frequently used items and boosts the score of the item use_frecency = true, -- Proximity bonus boosts the score of items matching nearby words use_proximity = true, -- Controls which sorts to use and in which order, falling back to the next sort if the first one returns nil -- You may pass a function instead of a string to customize the sorting sorts = { "score", "sort_text" }, }, }) require("luasnip.loaders.from_vscode").lazy_load() end, }, }