mirror of
https://github.com/NotAShelf/nvf.git
synced 2024-11-02 11:31:15 +00:00
27 lines
982 B
Nix
27 lines
982 B
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
inherit (lib) nvim mkIf concatMapStringsSep optionalString stringLength;
|
|
inherit (nvim.vim) mkVimBool;
|
|
|
|
cfg = config.vim.utility.preview.markdownPreview;
|
|
in {
|
|
config = mkIf cfg.enable {
|
|
vim.startPlugins = [pkgs.vimPlugins.markdown-preview-nvim];
|
|
|
|
vim.configRC.markdown-preview = nvim.dag.entryAnywhere ''
|
|
let g:mkdp_auto_start = ${mkVimBool cfg.autoStart}
|
|
let g:mkdp_auto_close = ${mkVimBool cfg.autoClose}
|
|
let g:mkdp_refresh_slow = ${mkVimBool cfg.lazyRefresh}
|
|
let g:mkdp_filetypes = [${concatMapStringsSep ", " (x: "'" + x + "'") cfg.filetypes}]
|
|
let g:mkdp_command_for_global = ${mkVimBool cfg.alwaysAllowPreview}
|
|
let g:mkdp_open_to_the_world = ${mkVimBool cfg.broadcastServer}
|
|
${optionalString (stringLength cfg.customIP > 0) "let g:mkdp_open_ip = '${cfg.customIP}'"}
|
|
${optionalString (stringLength cfg.customPort > 0) "let g:mkdp_port = '${cfg.customPort}'"}
|
|
'';
|
|
};
|
|
}
|