mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 02:52:37 +00:00 
			
		
		
		
	 f672d3cdee
			
		
	
	
	
	
	f672d3cdee
		
			Some checks failed
		
		
	
	Set up binary cache / cachix (default) (push) Has been cancelled
				
			Set up binary cache / cachix (maximal) (push) Has been cancelled
				
			Set up binary cache / cachix (nix) (push) Has been cancelled
				
			Validate flake & check formatting / Validate Flake (push) Has been cancelled
				
			Validate flake & check formatting / Formatting via Alejandra (push) Has been cancelled
				
			Build and deploy documentation / Check latest commit (push) Has been cancelled
				
			Check for typos in the source tree / check-typos (push) Has been cancelled
				
			Build and deploy documentation / publish (push) Has been cancelled
				
			Co-authored-by: raf <raf@notashelf.dev>
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   options,
 | |
|   config,
 | |
|   lib,
 | |
|   ...
 | |
| }: let
 | |
|   inherit (lib.modules) mkIf;
 | |
|   inherit (lib.nvim.binds) mkKeymap;
 | |
| 
 | |
|   cfg = config.vim.comments.comment-nvim;
 | |
|   inherit (options.vim.comments.comment-nvim) mappings;
 | |
| in {
 | |
|   config = mkIf cfg.enable {
 | |
|     vim.lazy.plugins.comment-nvim = {
 | |
|       package = "comment-nvim";
 | |
|       setupModule = "Comment";
 | |
|       inherit (cfg) setupOpts;
 | |
|       keys = [
 | |
|         (mkKeymap "n" cfg.mappings.toggleOpLeaderLine "<Plug>(comment_toggle_linewise)" {desc = mappings.toggleOpLeaderLine.description;})
 | |
|         (mkKeymap "n" cfg.mappings.toggleOpLeaderBlock "<Plug>(comment_toggle_blockwise)" {desc = mappings.toggleOpLeaderBlock.description;})
 | |
|         (mkKeymap "n" cfg.mappings.toggleCurrentLine ''
 | |
|             function()
 | |
|               return vim.api.nvim_get_vvar('count') == 0 and '<Plug>(comment_toggle_linewise_current)'
 | |
|                       or '<Plug>(comment_toggle_linewise_count)'
 | |
|             end
 | |
|           '' {
 | |
|             lua = true;
 | |
|             expr = true;
 | |
|             desc = mappings.toggleCurrentLine.description;
 | |
|           })
 | |
|         (mkKeymap ["n"] cfg.mappings.toggleCurrentBlock ''
 | |
|             function()
 | |
|               return vim.api.nvim_get_vvar('count') == 0 and '<Plug>(comment_toggle_blockwise_current)'
 | |
|                       or '<Plug>(comment_toggle_blockwise_count)'
 | |
|             end
 | |
|           '' {
 | |
|             lua = true;
 | |
|             expr = true;
 | |
|             desc = mappings.toggleCurrentBlock.description;
 | |
|           })
 | |
|         (mkKeymap "x" cfg.mappings.toggleSelectedLine "<Plug>(comment_toggle_linewise_visual)" {desc = mappings.toggleSelectedLine.description;})
 | |
|         (mkKeymap "x" cfg.mappings.toggleSelectedBlock "<Plug>(comment_toggle_blockwise_visual)" {desc = mappings.toggleSelectedBlock.description;})
 | |
|       ];
 | |
|     };
 | |
|   };
 | |
| }
 |