mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-04-15 00:58:37 +00:00
assistant/codecompanion-nvim: add mappings
Add mappings for common commands in codecompanion-nvim
This commit is contained in:
parent
df1b3f7968
commit
fd0c2a2548
3 changed files with 37 additions and 1 deletions
|
@ -276,3 +276,7 @@
|
|||
[rice-cracker-dev](https://github.com/rice-cracker-dev):
|
||||
|
||||
- `eslint_d` now checks for configuration files to load.
|
||||
|
||||
[Sc3l3t0n](https://github.com/Sc3l3t0n):
|
||||
|
||||
- Add some mappings to [codecompanion-nvim]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkOption mkEnableOption;
|
||||
inherit (lib.types) int str enum nullOr attrs;
|
||||
inherit (lib.nvim.binds) mkMappingOption;
|
||||
inherit (lib.nvim.types) mkPluginSetupOption luaInline;
|
||||
in {
|
||||
options.vim.assistant = {
|
||||
|
@ -273,6 +274,17 @@ in {
|
|||
'';
|
||||
};
|
||||
};
|
||||
|
||||
mappings = {
|
||||
inlineAssistant.open = mkMappingOption "[CodeCompanion] Open inline Assistant" "<leader>aa";
|
||||
chat = {
|
||||
open = mkMappingOption "[CodeCompanion] Open chat" "<leader>ao";
|
||||
toggle = mkMappingOption "[CodeCompanion] Toggle chat" "<leader>ac";
|
||||
addToChatBuffer = mkMappingOption "[CodeCompanion] Add selection to chat" "<leader>ab";
|
||||
};
|
||||
actions.open = mkMappingOption "[CodeCompanion] Open actions" "<C-a>";
|
||||
command.open = mkMappingOption "[CodeCompanion] Open cli command generation prompt" "<leader>ag";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue