return { "saghen/blink.cmp", -- optional: provides snippets for the snippet source dependencies = { "rafamadriz/friendly-snippets", { "L3MON4D3/LuaSnip", version = "v1.*" }, "windwp/nvim-autopairs", { "zbirenbaum/copilot.lua", cmd = { "Copilot" }, event = { "VeryLazy" }, opts = { suggestion = { enabled = false }, panel = { enabled = false } }, }, -- Add blink.cmp copilot source "giuxtaposition/blink-cmp-copilot", -- Add blink.cmp latex source for LaTeX/VimTeX support "erooke/blink-cmp-latex", }, -- use a release tag to download pre-built binaries version = "1.*", -- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust -- build = 'cargo build --release', event = "VeryLazy", ---@module 'blink.cmp' ---@type blink.cmp.Config opts = { -- Opciones de keymap disponibles: -- 'default' (actual) - Ctrl+y para aceptar, similar a built-in completions -- 'super-tab' - Tab para aceptar, similar a VSCode -- 'enter' - Enter para aceptar -- 'none' - Sin atajos automáticos (defines los tuyos) keymap = { preset = "default" }, -- Todas las configuraciones de preset 'default' incluyen: -- Ctrl+space: Abrir menú o mostrar docs si ya está abierto -- Ctrl+n/Ctrl+p o ↑/↓: Seleccionar siguiente/anterior -- Ctrl+e: Ocultar menú -- Ctrl+k: Toggle signature help (si signature.enabled = true) appearance = { -- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font' nerd_font_variant = "mono", }, completion = { documentation = { auto_show = true, auto_show_delay_ms = 500, window = { border = "rounded" }, }, menu = { border = "rounded", draw = { columns = { { "label", "label_description", gap = 1 }, { "kind_icon", "kind" }, }, }, }, ghost_text = { enabled = false }, }, -- Default list of enabled providers sources = { default = { "lsp", "path", "snippets", "buffer", "copilot" }, per_filetype = { tex = { "lsp", "path", "snippets", "buffer", "latex" }, bib = { "lsp", "path", "snippets", "buffer", "latex" }, codecompanion = { "codecompanion" }, }, providers = { copilot = { name = "copilot", module = "blink-cmp-copilot", score_offset = 100, async = true, }, latex = { name = "latex", module = "blink-cmp-latex", }, }, }, snippets = { preset = "luasnip" }, -- Experimental signature help support signature = { enabled = true }, -- (Default) Rust fuzzy matcher for typo resistance and significantly better performance fuzzy = { implementation = "prefer_rust_with_warning" }, }, opts_extend = { "sources.default" }, }