return {
    "saghen/blink.cmp",
    version = '1.*',

    ---@module 'blink.cmp'
    ---@type blink.cmp.config
    opts = {
        keymap = {
            preset = 'default',

            ['<Up>'] = { 'select_prev', 'fallback' },
            ['<Down>'] = { 'select_next', 'fallback' },
            ['<C-k>'] = { 'select_prev' },
            ['<C-j>'] = { 'select_next' },
            ['<C-Enter>'] = { 'accept' },
            ['<C-BS>'] = { 'cancel' },
            ['<C-Up>'] = { 'scroll_documentation_up' },
            ['<C-Down>'] = { 'scroll_documentation_down' },
        },

        appearance = {
            nerd_font_variant = 'mono',
        },

        completion = {
            documentation = {
                auto_show = true,
            },
            menu = {
                winblend = 0,
            },
        },

        signature = {
            window = {
                winblend = 0,
            },
        },

        sources = {
            default = {
                'lsp',
                'path',
                'buffer',
            },
        },

        fuzzy = {
            implementation = "prefer_rust_with_warning",
        },
    },

    opts_extend = {
        "sources.default",
    },
}

