mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 02:52:37 +00:00 
			
		
		
		
	
					parent
					
						
							
								c4d80273aa
							
						
					
				
			
			
				commit
				
					
						2317cba854
					
				
			
		
					 5 changed files with 119 additions and 0 deletions
				
			
		|  | @ -3,6 +3,7 @@ | |||
|     ./chatgpt | ||||
|     ./copilot | ||||
|     ./codecompanion | ||||
|     ./supermaven | ||||
|     ./avante | ||||
|   ]; | ||||
| } | ||||
|  |  | |||
							
								
								
									
										17
									
								
								modules/plugins/assistant/supermaven/config.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								modules/plugins/assistant/supermaven/config.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | |||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   ... | ||||
| }: let | ||||
|   cfg = config.vim.assistant.supermaven; | ||||
| in { | ||||
|   config = lib.mkIf cfg.enable { | ||||
|     vim.plugins = { | ||||
|       supermaven-nvim = { | ||||
|         package = "supermaven-nvim"; | ||||
|         setupModule = "supermaven-nvim"; | ||||
|         inherit (cfg) setupOpts; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										6
									
								
								modules/plugins/assistant/supermaven/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								modules/plugins/assistant/supermaven/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | |||
| { | ||||
|   imports = [ | ||||
|     ./supermaven.nix | ||||
|     ./config.nix | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										82
									
								
								modules/plugins/assistant/supermaven/supermaven.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								modules/plugins/assistant/supermaven/supermaven.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,82 @@ | |||
| {lib, ...}: let | ||||
|   inherit (lib) mkOption mkEnableOption types; | ||||
| in { | ||||
|   options.vim.assistant.supermaven = { | ||||
|     enable = mkEnableOption "Supermaven AI assistant"; | ||||
| 
 | ||||
|     setupOpts = lib.nvim.types.mkPluginSetupOption "Supermaven" { | ||||
|       keymaps = { | ||||
|         accept_suggestion = mkOption { | ||||
|           type = types.nullOr lib.types.str; | ||||
|           default = null; | ||||
|           example = "<Tab>"; | ||||
|           description = "The key to accept a suggestion"; | ||||
|         }; | ||||
|         clear_suggestion = mkOption { | ||||
|           type = types.nullOr lib.types.str; | ||||
|           default = null; | ||||
|           example = "<C-]>"; | ||||
|           description = "The key to clear a suggestion"; | ||||
|         }; | ||||
|         accept_word = mkOption { | ||||
|           type = types.nullOr lib.types.str; | ||||
|           default = null; | ||||
|           example = "<C-j>"; | ||||
|           description = "The key to accept a word"; | ||||
|         }; | ||||
|       }; | ||||
|       ignore_filetypes = mkOption { | ||||
|         type = types.nullOr (types.attrsOf types.bool); | ||||
|         default = null; | ||||
|         example = { | ||||
|           markdown = true; | ||||
|         }; | ||||
|         description = "List of filetypes to ignore"; | ||||
|       }; | ||||
|       color = { | ||||
|         suggestion_color = mkOption { | ||||
|           type = types.nullOr types.str; | ||||
|           default = null; | ||||
|           example = "#ffffff"; | ||||
|           description = "The hex color of the suggestion"; | ||||
|         }; | ||||
|         cterm = mkOption { | ||||
|           type = types.nullOr types.ints.u8; | ||||
|           default = null; | ||||
|           example = 244; | ||||
|           description = "The cterm color of the suggestion"; | ||||
|         }; | ||||
|       }; | ||||
|       log_level = mkOption { | ||||
|         type = types.nullOr ( | ||||
|           types.enum [ | ||||
|             "off" | ||||
|             "trace" | ||||
|             "debug" | ||||
|             "info" | ||||
|             "warn" | ||||
|             "error" | ||||
|           ] | ||||
|         ); | ||||
|         default = null; | ||||
|         example = "info"; | ||||
|         description = "The log level. Set to `\"off\"` to disable completely"; | ||||
|       }; | ||||
|       disable_inline_completion = mkOption { | ||||
|         type = types.nullOr types.bool; | ||||
|         default = null; | ||||
|         description = "Disable inline completion for use with cmp"; | ||||
|       }; | ||||
|       disable_keymaps = mkOption { | ||||
|         type = types.nullOr types.bool; | ||||
|         default = null; | ||||
|         description = "Disable built-in keymaps for more manual control"; | ||||
|       }; | ||||
|       condition = mkOption { | ||||
|         type = types.nullOr lib.nvim.types.luaInline; | ||||
|         default = null; | ||||
|         description = "Condition function to check for stopping supermaven. A returned `true` means to stop supermaven"; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -2335,6 +2335,19 @@ | |||
|       "url": "https://github.com/nanotee/sqls.nvim/archive/d1bc5421ef3e8edc5101e37edbb7de6639207a09.tar.gz", | ||||
|       "hash": "1j4n5c8h1iriqzsjxr0wvz70g9lf6d4lm3nyxlpwy9dqmbj8w0kd" | ||||
|     }, | ||||
|     "supermaven-nvim": { | ||||
|       "type": "Git", | ||||
|       "repository": { | ||||
|         "type": "GitHub", | ||||
|         "owner": "supermaven-inc", | ||||
|         "repo": "supermaven-nvim" | ||||
|       }, | ||||
|       "branch": "main", | ||||
|       "submodules": false, | ||||
|       "revision": "07d20fce48a5629686aefb0a7cd4b25e33947d50", | ||||
|       "url": "https://github.com/supermaven-inc/supermaven-nvim/archive/07d20fce48a5629686aefb0a7cd4b25e33947d50.tar.gz", | ||||
|       "hash": "1h9h98wsnfhkfdmdxjvr2d4idhrvp4i56pp4q6l0m4d2i0ldcgfp" | ||||
|     }, | ||||
|     "tabular": { | ||||
|       "type": "Git", | ||||
|       "repository": { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Devin Droddy
				Devin Droddy