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/copilot.lua | |
| 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/copilot.lua')
| -rw-r--r-- | lua/config/copilot.lua | 92 |
1 files changed, 0 insertions, 92 deletions
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' }) |