mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 08:35:43 +02:00
plugins/typst: add options
This commit is contained in:
parent
440c449c0a
commit
c2ccb2dfab
2 changed files with 60 additions and 15 deletions
|
@ -8,32 +8,74 @@
|
|||
with lib; let
|
||||
cfg = config.plugins.typst-vim;
|
||||
in {
|
||||
options.plugins.typst-vim =
|
||||
helpers.extraOptionsOptions
|
||||
// {
|
||||
enable = mkEnableOption "typst.vim";
|
||||
options.plugins.typst-vim = {
|
||||
enable = mkEnableOption "typst.vim";
|
||||
|
||||
package = helpers.mkPackageOption "typst-vim" pkgs.vimPlugins.typst-vim;
|
||||
package = helpers.mkPackageOption "typst-vim" pkgs.vimPlugins.typst-vim;
|
||||
|
||||
keymaps = {
|
||||
silent = mkOption {
|
||||
type = types.bool;
|
||||
description = "Whether typst-vim keymaps should be silent.";
|
||||
default = false;
|
||||
};
|
||||
cmd = helpers.defaultNullOpts.mkStr "typst" ''
|
||||
Specifies the location of the Typst executable.
|
||||
'';
|
||||
|
||||
watch =
|
||||
helpers.mkNullOrOption types.str
|
||||
"Keymap to preview the document and recompile on change.";
|
||||
pdfViewer = helpers.mkNullOrOption types.str ''
|
||||
Specifies pdf viewer that `typst watch --open` will use.
|
||||
'';
|
||||
|
||||
concealMath = helpers.defaultNullOpts.mkBool false ''
|
||||
Enable concealment for math symbols in math mode (i.e. replaces symbols with their actual
|
||||
unicode character).
|
||||
Warning: this can affect performance
|
||||
'';
|
||||
|
||||
autoCloseToc = helpers.defaultNullOpts.mkBool false ''
|
||||
Specifies whether TOC will be automatically closed after using it.
|
||||
'';
|
||||
|
||||
keymaps = {
|
||||
silent = mkOption {
|
||||
type = types.bool;
|
||||
description = "Whether typst-vim keymaps should be silent.";
|
||||
default = false;
|
||||
};
|
||||
|
||||
watch =
|
||||
helpers.mkNullOrOption types.str
|
||||
"Keymap to preview the document and recompile on change.";
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.attrs;
|
||||
default = {};
|
||||
description = ''
|
||||
The configuration options for typst-vim without the 'typst_' prefix.
|
||||
Example: To set 'typst_foobar' to 1, write
|
||||
extraConfig = {
|
||||
foobar = true;
|
||||
};
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
extraPlugins = [cfg.package];
|
||||
|
||||
# Add the typst compiler to nixvim packages
|
||||
extraPackages = with pkgs; [typst];
|
||||
|
||||
globals =
|
||||
mapAttrs'
|
||||
(name: nameValuePair ("typst_" + name))
|
||||
(
|
||||
with cfg;
|
||||
{
|
||||
inherit cmd;
|
||||
pdf_viewer = pdfViewer;
|
||||
conceal_math = concealMath;
|
||||
auto_close_toc = autoCloseToc;
|
||||
}
|
||||
// extraConfig
|
||||
);
|
||||
|
||||
keymaps = with cfg.keymaps;
|
||||
helpers.keymaps.mkKeymaps
|
||||
{
|
||||
|
|
|
@ -7,9 +7,12 @@
|
|||
plugins.typst-vim = {
|
||||
enable = true;
|
||||
|
||||
cmd = "typst";
|
||||
pdfViewer = "zathura";
|
||||
concealMath = false;
|
||||
autoCloseToc = false;
|
||||
keymaps = {
|
||||
silent = true;
|
||||
|
||||
watch = "<leader>w";
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue