mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-11-04 04:32:21 +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";
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |