mirror of
https://github.com/NotAShelf/nvf.git
synced 2026-04-09 03:56:11 +00:00
Generated using:
- `sd -F "inherit (lib.nvim.binds) mkMappingOption;" "inherit (config.vim.lib) mkMappingOption;" $(find . -type f)`
- `sd -F "{lib, ...}: let" "{config, lib, ...}: let" $(find . -type f)`
Tweaked manually (placement in inherit list, fixing todo-comments and toggleterm).
Ran `nix run nixpkgs#deadnix -- -e` to clean up.
Next commit includes unrelated dead code.
29 lines
1.3 KiB
Nix
29 lines
1.3 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
inherit (lib.options) mkEnableOption;
|
|
inherit (lib.nvim.types) mkPluginSetupOption;
|
|
inherit (config.vim.lib) mkMappingOption;
|
|
in {
|
|
options.vim.assistant.chatgpt = {
|
|
enable = mkEnableOption "ChatGPT AI assistant. Requires the environment variable OPENAI_API_KEY to be set";
|
|
setupOpts = mkPluginSetupOption "chatgpt" {};
|
|
mappings = {
|
|
chatGpt = mkMappingOption "ChatGPT" "<leader>ac";
|
|
editWithInstructions = mkMappingOption "[ChatGPT] Edit with instructions" "<leader>ae";
|
|
grammarCorrection = mkMappingOption "[ChatGPT] Grammar correction" "<leader>ag";
|
|
translate = mkMappingOption "[ChatGPT] Translate" "<leader>at";
|
|
keyword = mkMappingOption "[ChatGPT] Keywords" "<leader>ak";
|
|
docstring = mkMappingOption "[ChatGPT] Docstring" "<leader>ad";
|
|
addTests = mkMappingOption "[ChatGPT] Add tests" "<leader>aa";
|
|
optimize = mkMappingOption "[ChatGPT] Optimize code" "<leader>ao";
|
|
summarize = mkMappingOption "[ChatGPT] Summarize" "<leader>as";
|
|
fixBugs = mkMappingOption "[ChatGPT] Fix bugs" "<leader>af";
|
|
explain = mkMappingOption "[ChatGPT] Explain code" "<leader>ax";
|
|
roxygenEdit = mkMappingOption "[ChatGPT] Roxygen edit" "<leader>ar";
|
|
readabilityanalysis = mkMappingOption "[ChatGPT] Code reability analysis" "<leader>al";
|
|
};
|
|
};
|
|
}
|