assistant/codecompanion-nvim: add mappings

Add mappings for common commands in codecompanion-nvim
This commit is contained in:
Marlon Rosenberg 2025-03-24 17:33:05 +01:00
commit fd0c2a2548
3 changed files with 37 additions and 1 deletions

View file

@ -3,9 +3,21 @@
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.binds) addDescriptionsToMappings mkSetBinding mkSetLuaBinding;
self = import ./codecompanion-nvim.nix {inherit lib;};
cfg = config.vim.assistant.codecompanion-nvim;
mappingDefinitions = self.options.vim.assistant.codecompanion-nvim.mappings;
mappings = addDescriptionsToMappings cfg.mappings mappingDefinitions;
maps = mkMerge [
(mkSetBinding mappings.inlineAssistant.open "<cmd>CodeCompanion<CR>")
(mkSetBinding mappings.chat.open "<cmd>CodeCompanionChat<CR>")
(mkSetBinding mappings.chat.toggle "<cmd>CodeCompanionChat Toggle<CR>")
(mkSetBinding mappings.actions.open "<cmd>CodeCompanionActions<CR>")
(mkSetLuaBinding mappings.command.open "function() vim.fn.feedkeys(\":CodeCompanionCmd \") end")
];
in {
config = mkIf cfg.enable {
vim = {
@ -21,6 +33,14 @@ in {
};
};
maps = {
visual = mkMerge [
(mkSetBinding mappings.chat.addToChatBuffer "<cmd>CodeCompanionChat Add<CR>")
maps
];
normal = maps;
};
treesitter.enable = true;
};
};