mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 11:02:37 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			25 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {lib, ...}: let
 | |
|   inherit (lib.options) mkEnableOption;
 | |
|   inherit (lib.nvim.binds) mkMappingOption;
 | |
|   inherit (lib.nvim.types) mkPluginSetupOption;
 | |
| 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";
 | |
|     };
 | |
|   };
 | |
| }
 | 
