kekl
This commit is contained in:
		| @ -1,35 +1,154 @@ | |||||||
| { config, pkgs, nixvim, ...}: | _: | ||||||
|  | let | ||||||
|  |   get_bufnrs.__raw = '' | ||||||
|  |     function() | ||||||
|  |       local buf_size_limit = 1024 * 1024 -- 1MB size limit | ||||||
|  |       local bufs = vim.api.nvim_list_bufs() | ||||||
|  |       local valid_bufs = {} | ||||||
|  |       for _, buf in ipairs(bufs) do | ||||||
|  |         if vim.api.nvim_buf_is_loaded(buf) and vim.api.nvim_buf_get_offset(buf, vim.api.nvim_buf_line_count(buf)) < buf_size_limit then | ||||||
|  |           table.insert(valid_bufs, buf) | ||||||
|  |         end | ||||||
|  |       end | ||||||
|  |       return valid_bufs | ||||||
|  |     end | ||||||
|  |   ''; | ||||||
|  | in | ||||||
| { | { | ||||||
| 	programs.nixvim.plugins = { |   plugins = { | ||||||
| 		cmp-nvim-lsp.enable = true; |  | ||||||
| 	  	cmp-path.enable = true; |  | ||||||
| 	  	cmp-buffer.enable = true; |  | ||||||
|         cmp-clippy.enable = true; |  | ||||||
|     cmp = { |     cmp = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       		autoEnableSources = false; |       autoEnableSources = true; | ||||||
|             cmdline = { | 
 | ||||||
|                 completion = { |  | ||||||
|                     autocomplete = "require('cmp.types').cmp.TriggerEvent.TextChanged"; |  | ||||||
|                     completeopt = [ "menu" "menuone" "noinsert" "noselect" ]; |  | ||||||
|                 }; |  | ||||||
|             }; |  | ||||||
|       settings = { |       settings = { | ||||||
|         mapping = { |         mapping = { | ||||||
|                     "<C-Space>" = "cmp.mapping.complete()"; |           "<C-d>" = # Lua | ||||||
|                     "<C-d>" = "cmp.mapping.scroll_docs(-4)"; |             "cmp.mapping.scroll_docs(-4)"; | ||||||
|                     "<C-e>" = "cmp.mapping.close()"; |           "<C-f>" = # Lua | ||||||
|                     "<C-f>" = "cmp.mapping.scroll_docs(4)"; |             "cmp.mapping.scroll_docs(4)"; | ||||||
|                     "<CR>" = "cmp.mapping.confirm({ select = false })"; |           "<C-Space>" = # Lua | ||||||
|                     "<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})"; |             "cmp.mapping.complete()"; | ||||||
|                     "<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";  |           "<C-e>" = # Lua | ||||||
|  |             "cmp.mapping.close()"; | ||||||
|  |           "<Tab>" = # Lua | ||||||
|  |             "cmp.mapping(cmp.mapping.select_next_item({behavior = cmp.SelectBehavior.Select}), {'i', 's'})"; | ||||||
|  |           "<S-Tab>" = # Lua | ||||||
|  |             "cmp.mapping(cmp.mapping.select_prev_item({behavior = cmp.SelectBehavior.Select}), {'i', 's'})"; | ||||||
|  |           "<CR>" = # Lua | ||||||
|  |             "cmp.mapping.confirm({ select = false, behavior = cmp.ConfirmBehavior.Replace })"; | ||||||
|         }; |         }; | ||||||
|  | 
 | ||||||
|  |         preselect = # Lua | ||||||
|  |           "cmp.PreselectMode.None"; | ||||||
|  | 
 | ||||||
|  |         snippet.expand = # Lua | ||||||
|  |           "function(args) require('luasnip').lsp_expand(args.body) end"; | ||||||
|  | 
 | ||||||
|         sources = [ |         sources = [ | ||||||
|                     { name = "nvim_lsp"; keyword_length = 1; max_item_count = 5; } |           { | ||||||
|                     { name = "path";  keyword_length = 1; max_item_count = 5; } |             name = "nvim_lsp"; | ||||||
|                     { name = "clippy";  keyword_length = 1; max_item_count = 5; }  |             priority = 1000; | ||||||
|  |             option = { | ||||||
|  |               inherit get_bufnrs; | ||||||
|  |             }; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             name = "nvim_lsp_signature_help"; | ||||||
|  |             priority = 1000; | ||||||
|  |             option = { | ||||||
|  |               inherit get_bufnrs; | ||||||
|  |             }; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             name = "nvim_lsp_document_symbol"; | ||||||
|  |             priority = 1000; | ||||||
|  |             option = { | ||||||
|  |               inherit get_bufnrs; | ||||||
|  |             }; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             name = "treesitter"; | ||||||
|  |             priority = 850; | ||||||
|  |             option = { | ||||||
|  |               inherit get_bufnrs; | ||||||
|  |             }; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             name = "luasnip"; | ||||||
|  |             priority = 750; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             name = "buffer"; | ||||||
|  |             priority = 500; | ||||||
|  |             option = { | ||||||
|  |               inherit get_bufnrs; | ||||||
|  |             }; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             name = "copilot"; | ||||||
|  |             priority = 400; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             name = "rg"; | ||||||
|  |             priority = 300; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             name = "path"; | ||||||
|  |             priority = 300; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             name = "cmdline"; | ||||||
|  |             priority = 300; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             name = "spell"; | ||||||
|  |             priority = 300; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             name = "git"; | ||||||
|  |             priority = 250; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             name = "zsh"; | ||||||
|  |             priority = 250; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             name = "calc"; | ||||||
|  |             priority = 150; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             name = "emoji"; | ||||||
|  |             priority = 100; | ||||||
|  |           } | ||||||
|         ]; |         ]; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|  | 
 | ||||||
|  |     friendly-snippets.enable = true; | ||||||
|  |     luasnip.enable = true; | ||||||
|  | 
 | ||||||
|  |     lspkind = { | ||||||
|  |       enable = true; | ||||||
|  | 
 | ||||||
|  |       cmp = { | ||||||
|  |         enable = true; | ||||||
|  | 
 | ||||||
|  |         menu = { | ||||||
|  |           buffer = ""; | ||||||
|  |           calc = ""; | ||||||
|  |           cmdline = ""; | ||||||
|  |           codeium = ""; | ||||||
|  |           emoji = ""; | ||||||
|  |           git = ""; | ||||||
|  |           luasnip = ""; | ||||||
|  |           neorg = ""; | ||||||
|  |           nvim_lsp = ""; | ||||||
|  |           nvim_lua = ""; | ||||||
|  |           path = ""; | ||||||
|  |           spell = ""; | ||||||
|  |           treesitter = ""; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										35
									
								
								modules/nix/nvim/cmp.nix.bak
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								modules/nix/nvim/cmp.nix.bak
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,35 @@ | |||||||
|  | { config, pkgs, nixvim, ...}: | ||||||
|  | { | ||||||
|  | 	programs.nixvim.plugins = { | ||||||
|  | 		cmp-nvim-lsp.enable = true; | ||||||
|  | 	  	cmp-path.enable = true; | ||||||
|  | 	  	cmp-buffer.enable = true; | ||||||
|  |         cmp-clippy.enable = true; | ||||||
|  | 		cmp = { | ||||||
|  | 			enable = true; | ||||||
|  |       		autoEnableSources = false; | ||||||
|  |             cmdline = { | ||||||
|  |                 completion = { | ||||||
|  |                     autocomplete = "require('cmp.types').cmp.TriggerEvent.TextChanged"; | ||||||
|  |                     completeopt = [ "menu" "menuone" "noinsert" "noselect" ]; | ||||||
|  |                 }; | ||||||
|  |             }; | ||||||
|  |             settings = { | ||||||
|  | 				mapping = { | ||||||
|  |                     "<C-Space>" = "cmp.mapping.complete()"; | ||||||
|  |                     "<C-d>" = "cmp.mapping.scroll_docs(-4)"; | ||||||
|  |                     "<C-e>" = "cmp.mapping.close()"; | ||||||
|  |                     "<C-f>" = "cmp.mapping.scroll_docs(4)"; | ||||||
|  |                     "<CR>" = "cmp.mapping.confirm({ select = false })"; | ||||||
|  |                     "<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})"; | ||||||
|  |                     "<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";  | ||||||
|  |                 }; | ||||||
|  |                 sources = [ | ||||||
|  |                     { name = "nvim_lsp"; keyword_length = 1; max_item_count = 5; } | ||||||
|  |                     { name = "path";  keyword_length = 1; max_item_count = 5; } | ||||||
|  |                     { name = "clippy";  keyword_length = 1; max_item_count = 5; }  | ||||||
|  |                 ];  | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user
	 meml0rz
					meml0rz