diff options
| author | Elvis Claros Castro <elvis@claros.ar> | 2026-04-23 23:15:45 -0300 |
|---|---|---|
| committer | Elvis Claros Castro <elvis@claros.ar> | 2026-04-23 23:15:45 -0300 |
| commit | 2895ac732dce0eece5ab2586f5d4d76ee0fab710 (patch) | |
| tree | 16735209162d1b3e3118de8cea23e8541d087ba9 /lua/config | |
| parent | 7a32abb7c07c320cdeae19897d9daaea48acb1bb (diff) | |
| download | nvim-conf-2895ac732dce0eece5ab2586f5d4d76ee0fab710.tar.gz nvim-conf-2895ac732dce0eece5ab2586f5d4d76ee0fab710.zip | |
feat(neovim): integrar CodeCompanion/MCPHub, añadir autocompletado AI y actualizar plugins
- 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.
Diffstat (limited to 'lua/config')
| -rw-r--r-- | lua/config/autocmds.lua | 22 | ||||
| -rw-r--r-- | lua/config/copilot.lua | 92 | ||||
| -rw-r--r-- | lua/config/keymaps.lua | 5 | ||||
| -rw-r--r-- | lua/config/native-colorscheme.lua | 4 | ||||
| -rw-r--r-- | lua/config/options.lua | 6 |
5 files changed, 25 insertions, 104 deletions
diff --git a/lua/config/autocmds.lua b/lua/config/autocmds.lua index 1d3fe8a..f9ce4da 100644 --- a/lua/config/autocmds.lua +++ b/lua/config/autocmds.lua @@ -32,19 +32,19 @@ vim.api.nvim_create_autocmd("FileType", { end, }) -vim.api.nvim_create_autocmd({ "BufWritePre" }, { - callback = function() - vim.cmd [[%s/\s\+$//e]] - end, -}) +-- vim.api.nvim_create_autocmd({ "BufWritePre" }, { +-- callback = function() +-- vim.cmd [[%s/\s\+$//e]] +-- end, +-- }) -- Auto-format C/C++ files with clang-format on save -vim.api.nvim_create_autocmd("BufWritePre", { - pattern = { "*.c", "*.h", "*.cpp", "*.hpp", "*.cc", "*.cxx" }, - callback = function() - vim.lsp.buf.format { async = false } - end, -}) +-- vim.api.nvim_create_autocmd("BufWritePre", { +-- pattern = { "*.c", "*.h", "*.cpp", "*.hpp", "*.cc", "*.cxx" }, +-- callback = function() +-- vim.lsp.buf.format { async = false } +-- end, +-- }) -- Función para alternar el ajuste de línea function ToggleWrap() 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('<leader>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', '<S-Tab>', 'copilot#Accept("\\<S-Tab>")', { 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 = '<leader>ae', - description = 'AI Explain', - }, - Review = { - mapping = '<leader>ar', - description = 'AI Review', - }, - Tests = { - mapping = '<leader>at', - description = 'AI Tests', - }, - Fix = { - mapping = '<leader>af', - description = 'AI Fix', - }, - Optimize = { - mapping = '<leader>ao', - description = 'AI Optimize', - }, - Docs = { - mapping = '<leader>ad', - description = 'AI Documentation', - }, - Commit = { - mapping = '<leader>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' }, '<leader>aa', chat.toggle, { desc = 'AI Toggle' }) -vim.keymap.set({ 'v' }, '<leader>aa', chat.open, { desc = 'AI Open' }) -vim.keymap.set({ 'n' }, '<leader>ax', chat.reset, { desc = 'AI Reset' }) -vim.keymap.set({ 'n' }, '<leader>as', chat.stop, { desc = 'AI Stop' }) -vim.keymap.set({ 'n' }, '<leader>am', chat.select_model, { desc = 'AI Model' }) -vim.keymap.set({ 'n', 'v' }, '<leader>ap', function() - integration.pick(actions.prompt_actions(), { - fzf_tmux_opts = { - ['-d'] = '45%', - }, - }) -end, { desc = 'AI Prompts' }) -vim.keymap.set({ 'n', 'v' }, '<leader>aq', function() - vim.ui.input({ - prompt = 'AI Question> ', - }, function(input) - if input and input ~= '' then - chat.ask(input) - end - end) -end, { desc = 'AI Question' }) diff --git a/lua/config/keymaps.lua b/lua/config/keymaps.lua index 88251eb..3b20175 100644 --- a/lua/config/keymaps.lua +++ b/lua/config/keymaps.lua @@ -126,3 +126,8 @@ vim.keymap.set("n", "<leader>pdf", function() require("dap-python").test_file() end) map("n", "<leader>ft", "<CMD>FloatermToggle<CR>", { desc = "run terminal" }) + +-- CodeCompanion +map({ "n", "v" }, "<C-a>", "<cmd>CodeCompanionActions<cr>", { noremap = true, silent = true }) +map({ "n", "v" }, "<LocalLeader>a", "<cmd>CodeCompanionChat Toggle<cr>", { noremap = true, silent = true }) +map("v", "ga", "<cmd>CodeCompanionChat Add<cr>", { noremap = true, silent = true }) diff --git a/lua/config/native-colorscheme.lua b/lua/config/native-colorscheme.lua index 029cf43..4024f3f 100644 --- a/lua/config/native-colorscheme.lua +++ b/lua/config/native-colorscheme.lua @@ -72,6 +72,8 @@ local highlights = { Normal = { fg = colors.fg, bg = colors.none }, NormalFloat = { fg = colors.fg, bg = colors.bg_float }, NormalNC = { fg = colors.fg, bg = colors.none }, + FloatBorder = { fg = colors.border, bg = colors.bg_float }, + FloatTitle = { fg = colors.blue100, bg = colors.bg_float, bold = true }, -- Cursor Cursor = { fg = colors.bg, bg = colors.fg }, @@ -102,7 +104,7 @@ local highlights = { -- Popup menu Pmenu = { fg = colors.fg, bg = colors.bg_popup }, - PmenuSel = { bg = colors.bg_highlight }, + PmenuSel = { fg = colors.fg, bg = colors.bg_highlight, bold = true }, PmenuSbar = { bg = colors.bg_popup }, PmenuThumb = { bg = colors.fg_gutter }, diff --git a/lua/config/options.lua b/lua/config/options.lua index 1400d03..2d80d08 100644 --- a/lua/config/options.lua +++ b/lua/config/options.lua @@ -4,6 +4,9 @@ vim.g.mapleader = " " -- Configura el sistema de snippets para utilizar "luasnip". vim.g.snippets = "luasnip" +-- Desactiva el autoformateo global de LazyVim al guardar. +vim.g.autoformat = false + -- Configuración de opciones globales local opt = vim.o @@ -48,6 +51,9 @@ opt.spelllang = "en_us,es_es,es" -- Desactiva la creación de archivos de intercambio. opt.swapfile = false +-- Evita que :w agregue automáticamente un salto de línea final faltante. +opt.fixeol = false + -- Habilita la persistencia de archivos undofile. opt.undofile = true |