mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-11-03 20:22:21 +00:00 
			
		
		
		
	utility/leetcode-nvim: init (#636)
* utility/leetcode-nvim: init * utility/leetcode.nvim: Clean Code Cleaned code upon PR review comments
This commit is contained in:
		
					parent
					
						
							
								4196be3ac8
							
						
					
				
			
			
				commit
				
					
						0644475408
					
				
			
		
					 7 changed files with 124 additions and 0 deletions
				
			
		
							
								
								
									
										74
									
								
								modules/plugins/utility/leetcode-nvim/leetcode-nvim.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								modules/plugins/utility/leetcode-nvim/leetcode-nvim.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,74 @@
 | 
			
		|||
{lib, ...}: let
 | 
			
		||||
  inherit (lib.options) mkOption mkEnableOption;
 | 
			
		||||
  inherit (lib.types) enum str bool;
 | 
			
		||||
  inherit (lib.generators) mkLuaInline;
 | 
			
		||||
  inherit (lib.nvim.types) mkPluginSetupOption luaInline;
 | 
			
		||||
in {
 | 
			
		||||
  options.vim.utility = {
 | 
			
		||||
    leetcode-nvim = {
 | 
			
		||||
      enable = mkEnableOption "complementary neovim plugin for leetcode.nvim";
 | 
			
		||||
 | 
			
		||||
      setupOpts = mkPluginSetupOption "leetcode-nvim" {
 | 
			
		||||
        logging = mkEnableOption "logging for leetcode.nvim status notifications." // {default = true;};
 | 
			
		||||
        image_support = mkEnableOption "question description images using image.nvim (image-nvim must be enabled).";
 | 
			
		||||
 | 
			
		||||
        lang = mkOption {
 | 
			
		||||
          type = enum [
 | 
			
		||||
            "cpp"
 | 
			
		||||
            "java"
 | 
			
		||||
            "python"
 | 
			
		||||
            "python3"
 | 
			
		||||
            "c"
 | 
			
		||||
            "csharp"
 | 
			
		||||
            "javascript"
 | 
			
		||||
            "typescript"
 | 
			
		||||
            "php"
 | 
			
		||||
            "swift"
 | 
			
		||||
            "kotlin"
 | 
			
		||||
            "dart"
 | 
			
		||||
            "golang"
 | 
			
		||||
            "ruby"
 | 
			
		||||
            "scala"
 | 
			
		||||
            "rust"
 | 
			
		||||
            "racket"
 | 
			
		||||
            "erlang"
 | 
			
		||||
            "elixir"
 | 
			
		||||
            "bash"
 | 
			
		||||
          ];
 | 
			
		||||
          default = "python3";
 | 
			
		||||
          description = "Language to start your session with";
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        arg = mkOption {
 | 
			
		||||
          type = str;
 | 
			
		||||
          default = "leetcode.nvim";
 | 
			
		||||
          description = "Argument for Neovim";
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        cn = {
 | 
			
		||||
          enabled = mkEnableOption "leetcode.cn instead of leetcode.com";
 | 
			
		||||
          translator = mkEnableOption "translator" // {default = true;};
 | 
			
		||||
          translate_problems = mkEnableOption "translation for problem questions" // {default = true;};
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        storage = {
 | 
			
		||||
          home = mkOption {
 | 
			
		||||
            type = luaInline;
 | 
			
		||||
            default = mkLuaInline "vim.fn.stdpath(\"data\") .. \"/leetcode\"";
 | 
			
		||||
            description = "Home storage directory";
 | 
			
		||||
          };
 | 
			
		||||
 | 
			
		||||
          cache = mkOption {
 | 
			
		||||
            type = luaInline;
 | 
			
		||||
            default = mkLuaInline "vim.fn.stdpath(\"cache\") .. \"/leetcode\"";
 | 
			
		||||
            description = "Cache storage directory";
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        plugins = {
 | 
			
		||||
          non_standalone = mkEnableOption "leetcode.nvim in a non-standalone mode";
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue