return { "saghen/blink.cmp", dependencies = { { "L3MON4D3/LuaSnip", version = "v2.*" }, }, version = "1.*", opts = { fuzzy = { -- implementation = "rust", use_frecency = true, use_proximity = true, use_unsafe_no_lock = false, sorts = { function(a, b) if (a.client_name == nil or b.client_name == nil) or (a.client_name == b.client_name) then return end return b.client_name == "emmet_language_server" end, "exact", "score", "sort_text", }, }, keymap = { preset = "enter", [""] = { "hide", "show", "fallback" }, }, completion = { trigger = { -- show_in_snippet = false, }, -- Disable showing for all alphanumeric keywords by default. Prefer LSP specific trigger -- characters. -- trigger = { show_on_keyword = false }, -- Controls whether the documentation window will automatically show when selecting a completion item documentation = { auto_show = true, auto_show_delay_ms = 500, window = { border = "rounded", scrollbar = false, }, }, menu = { border = "rounded", draw = { gap = 2 }, scrollbar = false, }, }, snippets = { preset = "luasnip" }, sources = { -- add lazydev to your completion providers default = { "lazydev", "snippets", "lsp", "path", "buffer" }, providers = { lazydev = { name = "LazyDev", module = "lazydev.integrations.blink", -- make lazydev completions top priority (see `:h blink.cmp`) score_offset = 100, }, snippets = { min_keyword_length = 1, score_offset = 4, }, lsp = { min_keyword_length = 3, score_offset = 3, }, path = { min_keyword_length = 3, score_offset = 2, }, buffer = { min_keyword_length = 5, score_offset = 1, }, }, }, signature = { enabled = true }, }, }