mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 02:52:37 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {lib, ...}: let
 | |
|   inherit (lib.modules) mkRenamedOptionModule mkRemovedOptionModule;
 | |
|   inherit (lib.options) mkOption mkEnableOption;
 | |
|   inherit (lib.types) int bool;
 | |
|   inherit (lib.nvim.types) mkPluginSetupOption;
 | |
| in {
 | |
|   imports = [
 | |
|     (mkRenamedOptionModule ["vim" "visuals" "cursorline"] ["vim" "visuals" "nvim-cursorline"])
 | |
|     (mkRenamedOptionModule ["vim" "visuals" "nvim-cursorline" "lineTimeout"] ["vim" "visuals" "nvim-cursorline" "setupOpts" "line_timeout"])
 | |
|     (mkRemovedOptionModule ["vim" "visuals" "nvim-cursorline" "lineNumbersOnly"] ''
 | |
|       `vim.visuals.nvim-cursorline.lineNumbersOnly` has been removed. Use `vim.visuals.nvim-cursorline.number` instead.
 | |
|     '')
 | |
|   ];
 | |
| 
 | |
|   options.vim.visuals.nvim-cursorline = {
 | |
|     enable = mkEnableOption "cursor word and line highlighting [nvim-cursorline]";
 | |
| 
 | |
|     # Upstream has **zero** documentation whatsoever. I'm making wild assumptions
 | |
|     # on what goes into description based don the source code. I'm sorry. Not.
 | |
|     setupOpts = mkPluginSetupOption "nvim-cursorline" {
 | |
|       cursorline = {
 | |
|         enable = mkEnableOption "cursor line highlighting";
 | |
|         timeout = mkOption {
 | |
|           type = int;
 | |
|           default = 1000;
 | |
|           description = "Cursorline timeout";
 | |
|         };
 | |
| 
 | |
|         number = mkOption {
 | |
|           type = bool;
 | |
|           default = false;
 | |
|           description = ''
 | |
|             If true, `vim.wo.cursorlineopt` will be set to "number"
 | |
|             when the trigger conditions are met.
 | |
|           '';
 | |
|         };
 | |
|       };
 | |
| 
 | |
|       cursorword = {
 | |
|         enable = mkEnableOption "cursor word highlighting";
 | |
|         timeout = mkOption {
 | |
|           type = int;
 | |
|           default = 1000;
 | |
|           description = "Cursorword timeout";
 | |
|         };
 | |
| 
 | |
|         min_length = mkOption {
 | |
|           type = int;
 | |
|           default = 3;
 | |
|           description = ''
 | |
|             The min_length option defines the minimum number of characters
 | |
|             a word must have to be highlighted as a "cursor word." Any word
 | |
|             shorter than this value will be ignored and not highlighted.
 | |
|           '';
 | |
|         };
 | |
| 
 | |
|         hl.underline = mkOption {
 | |
|           type = bool;
 | |
|           default = true;
 | |
|           description = "Whether to underline matching cursorword";
 | |
|         };
 | |
|       };
 | |
|     };
 | |
|   };
 | |
| }
 |