mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-11-03 20:22:21 +00:00 
			
		
		
		
	Compare commits
	
		
			10 commits
		
	
	
		
			
				8ea010d7e3
			
			...
			
				5e2df2dd5b
			
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
							
							
								
							
							
	
	
	5e2df2dd5b | 
						
						
							|||
| 
							 | 
						
							
							
								
							
							
	
	
	601f987e60 | 
						
						
							||
| 
							 | 
						
							
							
								
							
							
	
	
	e78d4bb3c9 | 
						
						
							||
| 
							
							
								
							
							
	
	
	e02b61dc4c | 
						
						
							|||
| 
							 | 
						
							
							
								
							
							
	
	
	0bd9f1f0ec | 
						
						
							||
| 
							 | 
						
							
							
								
							
							
	
	
	c86a8a7ddb | 
						
						
							||
| 
							 | 
						
							
							
								
							
							
	
	
	6dcca0e96e | 
						
						
							||
| 
							 | 
						
							
							
								
							
							
	
	
	53c85ca262 | 
						
						
							||
| 
							 | 
						
							
							
								
							
							
	
	
	b86e7d157d | 
						
						
							||
| 
							 | 
						
							
							
								
							
							
	
	
	2317cba854 | 
						
						
							
					 6 changed files with 138 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -447,6 +447,13 @@
 | 
			
		|||
- Add [neogit], an interactive and powerful Git interface for Neovim, inspired by Magit
 | 
			
		||||
- Allow deregistering which-key binds or groups by setting them to `null`
 | 
			
		||||
 | 
			
		||||
[justDeeevin](https://github.com/justDeeevin):
 | 
			
		||||
 | 
			
		||||
[supermaven-nvim]: https://github.com/supermaven-inc/supermaven-nvim
 | 
			
		||||
 | 
			
		||||
- Add [supermaven-nvim] plugin in `vim.assistant.supermaven-nvim` with `enable` and
 | 
			
		||||
  `setupOpts`
 | 
			
		||||
 | 
			
		||||
[trueNAHO](https://github.com/trueNAHO):
 | 
			
		||||
 | 
			
		||||
- `flake-parts`'s `nixpkgs-lib` input follows nvf's `nixpkgs` input to reduce
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,7 @@
 | 
			
		|||
    ./chatgpt
 | 
			
		||||
    ./copilot
 | 
			
		||||
    ./codecompanion
 | 
			
		||||
    ./supermaven-nvim
 | 
			
		||||
    ./avante
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										17
									
								
								modules/plugins/assistant/supermaven-nvim/config.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								modules/plugins/assistant/supermaven-nvim/config.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: let
 | 
			
		||||
  cfg = config.vim.assistant.supermaven-nvim;
 | 
			
		||||
in {
 | 
			
		||||
  config = lib.mkIf cfg.enable {
 | 
			
		||||
    vim.lazy.plugins = {
 | 
			
		||||
      supermaven-nvim = {
 | 
			
		||||
        package = "supermaven-nvim";
 | 
			
		||||
        setupModule = "supermaven-nvim";
 | 
			
		||||
        inherit (cfg) setupOpts;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										6
									
								
								modules/plugins/assistant/supermaven-nvim/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								modules/plugins/assistant/supermaven-nvim/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./supermaven-nvim.nix
 | 
			
		||||
    ./config.nix
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,94 @@
 | 
			
		|||
{lib, ...}: let
 | 
			
		||||
  inherit
 | 
			
		||||
    (lib.types)
 | 
			
		||||
    nullOr
 | 
			
		||||
    str
 | 
			
		||||
    bool
 | 
			
		||||
    attrsOf
 | 
			
		||||
    ints
 | 
			
		||||
    enum
 | 
			
		||||
    ;
 | 
			
		||||
  inherit (lib.options) mkOption mkEnableOption;
 | 
			
		||||
  inherit (lib.nvim.types) mkPluginSetupOption luaInline;
 | 
			
		||||
in {
 | 
			
		||||
  options.vim.assistant.supermaven-nvim = {
 | 
			
		||||
    enable = mkEnableOption "Supermaven AI assistant";
 | 
			
		||||
 | 
			
		||||
    setupOpts = mkPluginSetupOption "Supermaven" {
 | 
			
		||||
      keymaps = {
 | 
			
		||||
        accept_suggestion = mkOption {
 | 
			
		||||
          type = nullOr str;
 | 
			
		||||
          default = null;
 | 
			
		||||
          example = "<Tab>";
 | 
			
		||||
          description = "The key to accept a suggestion";
 | 
			
		||||
        };
 | 
			
		||||
        clear_suggestion = mkOption {
 | 
			
		||||
          type = nullOr str;
 | 
			
		||||
          default = null;
 | 
			
		||||
          example = "<C-]>";
 | 
			
		||||
          description = "The key to clear a suggestion";
 | 
			
		||||
        };
 | 
			
		||||
        accept_word = mkOption {
 | 
			
		||||
          type = nullOr str;
 | 
			
		||||
          default = null;
 | 
			
		||||
          example = "<C-j>";
 | 
			
		||||
          description = "The key to accept a word";
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
      ignore_file = mkOption {
 | 
			
		||||
        type = nullOr (attrsOf bool);
 | 
			
		||||
        default = null;
 | 
			
		||||
        example = {
 | 
			
		||||
          markdown = true;
 | 
			
		||||
        };
 | 
			
		||||
        description = "List of fileto ignore";
 | 
			
		||||
      };
 | 
			
		||||
      color = {
 | 
			
		||||
        suggestion_color = mkOption {
 | 
			
		||||
          type = nullOr str;
 | 
			
		||||
          default = null;
 | 
			
		||||
          example = "#ffffff";
 | 
			
		||||
          description = "The hex color of the suggestion";
 | 
			
		||||
        };
 | 
			
		||||
        cterm = mkOption {
 | 
			
		||||
          type = nullOr ints.u8;
 | 
			
		||||
          default = null;
 | 
			
		||||
          example = 244;
 | 
			
		||||
          description = "The cterm color of the suggestion";
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
      log_level = mkOption {
 | 
			
		||||
        type = nullOr (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 = nullOr bool;
 | 
			
		||||
        default = null;
 | 
			
		||||
        description = "Disable inline completion for use with cmp";
 | 
			
		||||
      };
 | 
			
		||||
      disable_keymaps = mkOption {
 | 
			
		||||
        type = nullOr bool;
 | 
			
		||||
        default = null;
 | 
			
		||||
        description = "Disable built-in keymaps for more manual control";
 | 
			
		||||
      };
 | 
			
		||||
      condition = mkOption {
 | 
			
		||||
        type = nullOr 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