From b1b6351bd8d0d2c3a1b5de840fec27df86918054 Mon Sep 17 00:00:00 2001 From: Job79 Date: Sat, 21 Mar 2026 16:12:26 +0100 Subject: [PATCH] feat: add shortcuts to codecompanion --- lazy-lock.json | 20 +++++++++++--------- lazyvim.json | 6 ++++-- lua/plugins/ai.lua | 26 +++++++++++++++++++++++--- lua/plugins/disabled.lua | 1 - 4 files changed, 38 insertions(+), 15 deletions(-) diff --git a/lazy-lock.json b/lazy-lock.json index c8e3bcf..6abc9f2 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,15 +1,16 @@ { "LazyVim": { "branch": "main", "commit": "fca0af57cc3851b14f96a795a9c9bfafc5096dd1" }, - "blink.cmp": { "branch": "main", "commit": "4b18c32adef2898f95cdef6192cbd5796c1a332d" }, + "blink.cmp": { "branch": "main", "commit": "451168851e8e2466bc97ee3e026c3dcb9141ce07" }, "catppuccin": { "branch": "main", "commit": "c4d475e4b5684747cde9b3f849186af7837d4397" }, - "conform.nvim": { "branch": "master", "commit": "40dcec5555f960b0a04340d76eabdf4efe78599d" }, + "codecompanion.nvim": { "branch": "main", "commit": "d5551b1aac60e164fb569eba422ea9b65cd2d6f4" }, + "conform.nvim": { "branch": "master", "commit": "086a40dc7ed8242c03be9f47fbcee68699cc2395" }, "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, "gitsigns.nvim": { "branch": "main", "commit": "7c4faa3540d0781a28588cafbd4dd187a28ac6e3" }, - "laravel.nvim": { "branch": "main", "commit": "4e48d7a5783155475f578da2ec85451c50f41fe7" }, + "laravel.nvim": { "branch": "main", "commit": "ef06a69137ed09a72addc0c6f967aaea7d891a63" }, "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, - "lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" }, + "lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" }, "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "a324581a3c83fdacdb9804b79de1cbe00ce18550" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "a979821a975897b88493843301950c456a725982" }, "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, "mini.ai": { "branch": "main", "commit": "4b0a6207341d895b6cfe9bcb1e4d3e8607bfe4f4" }, "mini.icons": { "branch": "main", "commit": "5b9076dae1bfbe47ba4a14bc8b967cde0ab5d77e" }, @@ -17,16 +18,17 @@ "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nvim-lint": { "branch": "master", "commit": "606b823a57b027502a9ae00978ebf4f5d5158098" }, - "nvim-lspconfig": { "branch": "master", "commit": "2163c54bb6cfec53e3e555665ada945b8c8331b9" }, + "nvim-lspconfig": { "branch": "master", "commit": "841c6d4139aedb8a3f2baf30cef5327371385b93" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, - "nvim-treesitter": { "branch": "main", "commit": "ebe76eb800d4e8df754fc96f8a7b84f578224a97" }, - "nvim-treesitter-textobjects": { "branch": "main", "commit": "0bc4ef0a34d80fd6e67b59bd71fcbb0ef9ef4756" }, + "nvim-treesitter": { "branch": "main", "commit": "e5f65e31a5ec0e8526b2311ff8c7aaea4a581c82" }, + "nvim-treesitter-textobjects": { "branch": "main", "commit": "93d60a475f0b08a8eceb99255863977d3a25f310" }, "nvim-ts-autotag": { "branch": "main", "commit": "8e1c0a389f20bf7f5b0dd0e00306c1247bda2595" }, "persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "rose-pine": { "branch": "main", "commit": "cf2a288696b03d0934da713d66c6d71557b5c997" }, - "snacks.nvim": { "branch": "main", "commit": "9912042fc8bca2209105526ac7534e9a0c2071b2" }, + "snacks.nvim": { "branch": "main", "commit": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e" }, "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" }, + "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, "ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" }, "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } } diff --git a/lazyvim.json b/lazyvim.json index 4a9f156..d8bcaf6 100644 --- a/lazyvim.json +++ b/lazyvim.json @@ -1,8 +1,10 @@ { - "extras": [], + "extras": [ + + ], "install_version": 8, "news": { "NEWS.md": "11866" }, "version": 8 -} +} \ No newline at end of file diff --git a/lua/plugins/ai.lua b/lua/plugins/ai.lua index c239e78..166412d 100644 --- a/lua/plugins/ai.lua +++ b/lua/plugins/ai.lua @@ -5,8 +5,28 @@ return { "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", }, - config = function() - require("codecompanion").setup({}) - end, + opts = {}, + keys = { + { "aa", "CodeCompanionChat", mode = { "n", "v" }, desc = "Toggle Chat" }, + { + "ap", + function() + local mode = vim.api.nvim_get_mode().mode + vim.ui.input({ prompt = "AI Prompt: " }, function(input) + if not input or input == "" then + return + end + + if mode:match("[vV]") then + vim.cmd("'<,'>CodeCompanion " .. input) + else + vim.cmd("CodeCompanion #{buffer} " .. input) + end + end) + end, + mode = { "n", "v" }, + desc = "AI Prompt", + }, + }, }, } diff --git a/lua/plugins/disabled.lua b/lua/plugins/disabled.lua index 3c88889..401608e 100644 --- a/lua/plugins/disabled.lua +++ b/lua/plugins/disabled.lua @@ -21,6 +21,5 @@ return { { "folke/todo-comments.nvim", enabled = false }, { "folke/ts-comments.nvim", enabled = false }, - { "folke/trouble.nvim", enabled = false }, { "MagicDuck/grug-far.nvim", enabled = false }, }