mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 02:52:37 +00:00 
			
		
		
		
	language/markdown: added markdown-previewer.nvim
This commit is contained in:
		
					parent
					
						
							
								d0f8e445ab
							
						
					
				
			
			
				commit
				
					
						7352558623
					
				
			
		
					 2 changed files with 73 additions and 1 deletions
				
			
		|  | @ -4,7 +4,8 @@ | |||
|   lib, | ||||
|   ... | ||||
| }: let | ||||
|   inherit (lib) nvim mkIf mkMerge mkBinding isList; | ||||
|   inherit (lib) nvim mkIf mkMerge mkBinding isList concatMapStringsSep; | ||||
|   inherit (nvim.vim) mkVimBool; | ||||
| 
 | ||||
|   cfg = config.vim.languages.markdown; | ||||
|   self = import ./markdown.nix { | ||||
|  | @ -49,6 +50,21 @@ in { | |||
|       ''; | ||||
|     }) | ||||
| 
 | ||||
|     (mkIf cfg.markdownPreview.enable { | ||||
|       vim.startPlugins = [pkgs.vimPlugins.markdown-preview-nvim]; | ||||
| 
 | ||||
|       vim.configRC.markdown-preview = nvim.dag.entryAnywhere '' | ||||
|         let g:mkdp_auto_start = ${mkVimBool cfg.markdownPreview.autoStart} | ||||
|         let g:mkdp_auto_close = ${mkVimBool cfg.markdownPreview.autoClose} | ||||
|         let g:mkdp_refresh_slow = ${mkVimBool cfg.markdownPreview.lazyRefresh} | ||||
|         let g:mkdp_filetypes = [${concatMapStringsSep ", " (x: "'" + x + "'") cfg.markdownPreview.filetypes}] | ||||
|         let g:mkdp_command_for_global = ${mkVimBool cfg.markdownPreview.alwaysAllowPreview} | ||||
|         let g:mkdp_open_to_the_world = ${mkVimBool cfg.markdownPreview.broadcastServer} | ||||
|         let g:mkdp_open_ip = '${cfg.markdownPreview.customIP}' | ||||
|         let g:mkdp_port = '${cfg.markdownPreview.customPort}' | ||||
|       ''; | ||||
|     }) | ||||
| 
 | ||||
|     (mkIf cfg.lsp.enable { | ||||
|       vim.lsp.lspconfig.enable = true; | ||||
| 
 | ||||
|  |  | |||
|  | @ -40,6 +40,62 @@ in { | |||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     markdownPreview = { | ||||
|       enable = mkOption { | ||||
|         type = types.bool; | ||||
|         default = false; | ||||
|         description = "Enable markdown preview in neovim with markdown-preview.nvim"; | ||||
|       }; | ||||
| 
 | ||||
|       autoStart = mkOption { | ||||
|         type = types.bool; | ||||
|         default = false; | ||||
|         description = "Automatically open the preview window after entering a Markdown buffer"; | ||||
|       }; | ||||
| 
 | ||||
|       autoClose = mkOption { | ||||
|         type = types.bool; | ||||
|         default = true; | ||||
|         description = "Automatically close the preview window after leaving a Markdown buffer"; | ||||
|       }; | ||||
| 
 | ||||
|       lazyRefresh = mkOption { | ||||
|         type = types.bool; | ||||
|         default = false; | ||||
|         description = "Only update preview when saving or leaving insert mode"; | ||||
|       }; | ||||
| 
 | ||||
|       filetypes = mkOption { | ||||
|         type = types.listOf types.str; | ||||
|         default = ["markdown"]; | ||||
|         description = "Allowed filetypes"; | ||||
|       }; | ||||
| 
 | ||||
|       alwaysAllowPreview = mkOption { | ||||
|         type = types.bool; | ||||
|         default = false; | ||||
|         description = "Allow preview on all filetypes"; | ||||
|       }; | ||||
| 
 | ||||
|       broadcastServer = mkOption { | ||||
|         type = types.bool; | ||||
|         default = false; | ||||
|         description = "Allow for outside and network wide connections"; | ||||
|       }; | ||||
| 
 | ||||
|       customIP = mkOption { | ||||
|         type = types.str; | ||||
|         default = ""; | ||||
|         description = "IP-address to use"; | ||||
|       }; | ||||
| 
 | ||||
|       customPort = mkOption { | ||||
|         type = types.str; | ||||
|         default = ""; | ||||
|         description = "Port to use"; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     treesitter = { | ||||
|       enable = mkOption { | ||||
|         description = "Enable Markdown treesitter"; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Donnerinoern
				Donnerinoern