mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 19:12:38 +00:00 
			
		
		
		
	
					parent
					
						
							
								c4d80273aa
							
						
					
				
			
			
				commit
				
					
						2317cba854
					
				
			
		
					 5 changed files with 119 additions and 0 deletions
				
			
		|  | @ -3,6 +3,7 @@ | ||||||
|     ./chatgpt |     ./chatgpt | ||||||
|     ./copilot |     ./copilot | ||||||
|     ./codecompanion |     ./codecompanion | ||||||
|  |     ./supermaven | ||||||
|     ./avante |     ./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", |       "url": "https://github.com/nanotee/sqls.nvim/archive/d1bc5421ef3e8edc5101e37edbb7de6639207a09.tar.gz", | ||||||
|       "hash": "1j4n5c8h1iriqzsjxr0wvz70g9lf6d4lm3nyxlpwy9dqmbj8w0kd" |       "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": { |     "tabular": { | ||||||
|       "type": "Git", |       "type": "Git", | ||||||
|       "repository": { |       "repository": { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Devin Droddy
				Devin Droddy