From 2895ac732dce0eece5ab2586f5d4d76ee0fab710 Mon Sep 17 00:00:00 2001 From: Elvis Claros Castro Date: Thu, 23 Apr 2026 23:15:45 -0300 Subject: =?UTF-8?q?feat(neovim):=20integrar=20CodeCompanion/MCPHub,=20a?= =?UTF-8?q?=C3=B1adir=20autocompletado=20AI=20y=20actualizar=20plugins?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Añadir integración completa de CodeCompanion (mcphub, adaptadores, UI, herramientas, historial, paleta de acciones) - Configuración de build/portado de `mcphub` y opciones de tiempo de ejecución - Configurar adaptadores, herramientas por defecto y múltiples adaptadores para `chat`/`inline`/`cmd` - Añadir autocomandos de CodeCompanion para mostrar/ocultar el spinner - Añadir keymaps relacionados con CodeCompanion - Añadir proveedor de autocompletado AI `minuet-ai` y cambiar la fuente de completado por defecto a `minuet` - Eliminar el archivo de configuración antiguo de Copilot y varios archivos de configuración de plugins obsoletos (`lua/config/copilot.lua`, `lua/plugins/foatterm.lua`, `lua/plugins/img-clip.lua`, `lua/plugins/markdown-preview.lua`, `lua/plugins/markview.lua`) - Actualizar muchos pines de plugins en `lazy-lock.json` (bump/reemplazo de commits) - Comentar los `autocmd` de trim de espacios en blanco y `clang-format` (deshabilita comportamiento de autoformateo/auto-guardar) - Establecer opciones globales: - desactivar el autoformateo global de LazyVim: `vim.g.autoformat = false` - evitar que `:w` agregue automáticamente un salto de línea final: `opt.fixeol = false` - Ajustes de UI: - agregar resaltados `FloatBorder`/`FloatTitle` y hacer `PmenuSel` en negrita - Añadir keymap específico para Rust: sobrescribir `K` para invocar las acciones de hover de `rustaceanvim` - Actualizar/limpiar muchas configuraciones de plugins: - reescritura amplia de `lua/plugins/codecompanion.lua` - añadir/modificar opciones de `lua/plugins/image.lua` (`image.nvim`) - ajustar UI, pickers y keymaps de `lua/plugins/snacks.lua` - actualizar versión de `rustaceanvim` y desactivar `format_on_save` en `navigator` - varias correcciones de formato y consistencia en archivos de plugins - Actualizar `lua/config/keymaps.lua` para incluir bindings de CodeCompanion Notas: - Estos cambios modifican el comportamiento de formateo/autoformateo (autoformateo desactivado y algunos `autocmd` `BufWritePre` comentados). Revisa si quieres reactivar el formateo automático al guardar. --- lua/config/copilot.lua | 92 -------------------------------------------------- 1 file changed, 92 deletions(-) delete mode 100644 lua/config/copilot.lua (limited to 'lua/config/copilot.lua') diff --git a/lua/config/copilot.lua b/lua/config/copilot.lua deleted file mode 100644 index 9b9b6fc..0000000 --- a/lua/config/copilot.lua +++ /dev/null @@ -1,92 +0,0 @@ -local utils = require('config.utils') -local icons = require('config.icons') -utils.desc('a', 'AI') - --- Copilot autosuggestions -vim.g.copilot_no_tab_map = true -vim.g.copilot_hide_during_completion = 0 -vim.g.copilot_proxy_strict_ssl = 0 -vim.keymap.set('i', '', 'copilot#Accept("\\")', { expr = true, replace_keycodes = false }) - --- Copilot chat -local chat = require('CopilotChat') -local actions = require('CopilotChat.actions') -local select = require('CopilotChat.select') -local integration = require('CopilotChat.integrations.fzflua') - -chat.setup({ - model = 'claude-3.5-sonnet', - question_header = ' ' .. icons.ui.User .. ' ', - answer_header = ' ' .. icons.ui.Bot .. ' ', - error_header = '> ' .. icons.diagnostics.Warn .. ' ', - selection = select.visual, - mappings = { - reset = { - normal = '', - insert = '', - }, - }, - prompts = { - Yarrr = { - system_prompt = 'You are fascinated by pirates, so please respond in pirate speak.', - }, - Explain = { - mapping = 'ae', - description = 'AI Explain', - }, - Review = { - mapping = 'ar', - description = 'AI Review', - }, - Tests = { - mapping = 'at', - description = 'AI Tests', - }, - Fix = { - mapping = 'af', - description = 'AI Fix', - }, - Optimize = { - mapping = 'ao', - description = 'AI Optimize', - }, - Docs = { - mapping = 'ad', - description = 'AI Documentation', - }, - Commit = { - mapping = 'ac', - description = 'AI Generate Commit', - }, - }, -}) - -utils.au('BufEnter', { - pattern = 'copilot-*', - callback = function() - vim.opt_local.relativenumber = false - vim.opt_local.number = false - end, -}) - -vim.keymap.set({ 'n' }, 'aa', chat.toggle, { desc = 'AI Toggle' }) -vim.keymap.set({ 'v' }, 'aa', chat.open, { desc = 'AI Open' }) -vim.keymap.set({ 'n' }, 'ax', chat.reset, { desc = 'AI Reset' }) -vim.keymap.set({ 'n' }, 'as', chat.stop, { desc = 'AI Stop' }) -vim.keymap.set({ 'n' }, 'am', chat.select_model, { desc = 'AI Model' }) -vim.keymap.set({ 'n', 'v' }, 'ap', function() - integration.pick(actions.prompt_actions(), { - fzf_tmux_opts = { - ['-d'] = '45%', - }, - }) -end, { desc = 'AI Prompts' }) -vim.keymap.set({ 'n', 'v' }, 'aq', function() - vim.ui.input({ - prompt = 'AI Question> ', - }, function(input) - if input and input ~= '' then - chat.ask(input) - end - end) -end, { desc = 'AI Question' }) -- cgit v1.2.3