aboutsummaryrefslogtreecommitdiffstats
path: root/lua/plugins/completition.lua
diff options
context:
space:
mode:
authorElvis Claros Castro <elvis@claros.ar>2025-08-30 14:26:57 -0300
committerElvis Claros Castro <elvis@claros.ar>2025-08-30 14:26:57 -0300
commit703b88587bf5bfa7468edffe35be956fe0a06f35 (patch)
tree86ad85947d37b83fa7e990fcddf2154903016e95 /lua/plugins/completition.lua
parent8f64f3b31fa69765b816000157aa7632a33bd08e (diff)
downloadnvim-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.lua115
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" },
}