diff options
| author | Elvis Claros Castro <elvis@claros.ar> | 2025-08-30 14:26:57 -0300 |
|---|---|---|
| committer | Elvis Claros Castro <elvis@claros.ar> | 2025-08-30 14:26:57 -0300 |
| commit | 703b88587bf5bfa7468edffe35be956fe0a06f35 (patch) | |
| tree | 86ad85947d37b83fa7e990fcddf2154903016e95 /lua/plugins/completition.lua | |
| parent | 8f64f3b31fa69765b816000157aa7632a33bd08e (diff) | |
| download | nvim-conf-703b88587bf5bfa7468edffe35be956fe0a06f35.tar.gz nvim-conf-703b88587bf5bfa7468edffe35be956fe0a06f35.zip | |
feat(completion): migración a blink.cmp para completado más rápido e inteligente
Se reemplazó nvim-cmp y fuentes relacionadas por blink.cmp, incluyendo soporte para Copilot y LaTeX. Se actualizó la configuración de completado para mejorar el rendimiento, resistencia a errores tipográficos y mejor interfaz. Las completaciones DAP ahora se gestionan automáticamente. Se eliminaron cmp-dap y dependencias de plugins no utilizados.
feat(ui): agrega nvzone/menu y minty para menús y selección de colores mejorados
Se incorporó nvzone/menu para menús contextuales (Oil, Colores) y minty para paletas y selector de color avanzados. Se añadieron nuevas definiciones de menú y atajos para acceso rápido.
refactor(lsp): actualiza capacidades LSP para integración con blink.cmp
Se modificaron las capacidades del cliente LSP para usar blink.cmp y mejorar la experiencia de completado en todos los servidores.
fix(dap): actualiza configuración del adaptador de Firefox para desarrollo local
Se cambiaron los parámetros del adaptador de depuración de Firefox para ajustarse al entorno y puerto local.
chore: elimina plugins no utilizados (vim-dadbod, deadcolumn, duck, easy-align, orgmode, llm)
Se limpió la lista de plugins eliminando los no utilizados o deshabilitados para una configuración más ligera.
style(colorscheme): mejora configuración de Solarized Osaka para mejor UI
Se mejoró la configuración del esquema de colores con resaltados más legibles, mejores estilos para barras laterales/ventanas flotantes y retroalimentación visual mejorada.
docs: agrega MIGRACION_BLINK.md con notas de migración
Se añadió archivo de documentación para registrar los pasos y razones de la migración a blink.cmp.
Diffstat (limited to 'lua/plugins/completition.lua')
| -rw-r--r-- | lua/plugins/completition.lua | 115 |
1 files changed, 87 insertions, 28 deletions
diff --git a/lua/plugins/completition.lua b/lua/plugins/completition.lua index 173cb54..bfe51d5 100644 --- a/lua/plugins/completition.lua +++ b/lua/plugins/completition.lua @@ -1,38 +1,97 @@ return { - "hrsh7th/nvim-cmp", + "saghen/blink.cmp", + -- optional: provides snippets for the snippet source dependencies = { - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-path", - "hrsh7th/cmp-nvim-lua", - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-cmdline", - "hrsh7th/cmp-git", - "saadparwaiz1/cmp_luasnip", - "onsails/lspkind-nvim", + "rafamadriz/friendly-snippets", { "L3MON4D3/LuaSnip", version = "v1.*" }, "windwp/nvim-autopairs", { - "zbirenbaum/copilot-cmp", - dependencies = { - "zbirenbaum/copilot.lua", - cmd = { "Copilot" }, - event = { "VeryLazy" }, - opts = { suggestion = { enabled = false }, panel = { enabled = false } }, + "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" }, + }, + }, }, - config = true, + ghost_text = { enabled = false }, }, - { - "uga-rosa/cmp-dictionary", - config = function() - local dict_fl = { ["*"] = { "/usr/share/dict/words" }, ft = { foo = { "./../../spell/dict_es_en.dict" } } } - local dict = require "cmp_dictionary" - dict.setup { paths = dict_fl["*"], exact_length = 3, first_case_insensitive = false } - end, + + -- 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", + }, + }, }, - { "Jezda1337/nvim-html-css" }, + + 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" }, }, - event = "VeryLazy", - config = function() - require "pi.completition" - end, + opts_extend = { "sources.default" }, } |