| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- local M = {
- "saghen/blink.cmp",
- dependencies = "rafamadriz/friendly-snippets",
- version = "v0.*",
- }
- M.config = function()
- require("blink.cmp").setup({
- keymap = {
- ["<C-space>"] = {
- "show",
- "show_documentation",
- "hide_documentation",
- },
- ["<C-d>"] = { "hide", "fallback" },
- ["<C-c>"] = { "hide", "fallback" },
- ["<CR>"] = { "accept", "fallback" },
- ["<C-k>"] = { "select_prev", "fallback" },
- ["<C-j>"] = { "select_next", "fallback" },
- },
- appearance = {
- use_nvim_cmp_as_default = true,
- nerd_font_variant = "mono",
- },
- sources = {
- default = { "lsp", "path", "snippets", "buffer", "dadbod" },
- providers = {
- dadbod = { name = "Dadbod", module = "vim_dadbod_completion.blink" },
- },
- },
- signature = {
- enabled = true,
- window = {
- border = "single",
- },
- },
- completion = {
- list = {
- selection = {
- auto_insert = true,
- preselect = false,
- },
- },
- menu = {
- border = "single",
- draw = {
- components = {
- kind_icon = {
- ellipsis = false,
- text = function(ctx)
- local kind_icon, _, _ = require("mini.icons").get("lsp", ctx.kind)
- return kind_icon
- end,
- highlight = function(ctx)
- local _, hl, _ = require("mini.icons").get("lsp", ctx.kind)
- return hl
- end,
- },
- },
- },
- },
- },
- 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" },
- },
- })
- end
- return M
|