Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/typos.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ default.extend-ignore-words-re = [
"befores",
"annote",
"viw",
"typ",
"BA", # somehow "BANanaD3V" is valid, but BA is not...
]

7 changes: 7 additions & 0 deletions docs/release-notes/rl-0.8.md
Original file line number Diff line number Diff line change
Expand Up @@ -499,3 +499,10 @@

- Add [nvim-highlight-colors] plugin in `vim.ui.nvim-highlight-colors` with
`enable` and `setupOpts`

[PartyWumpus](https://github.com/PartyWumpus):

[typst-concealer]: https://github.com/PartyWumpus/typst-concealer

- Add inline typst concealing support under `vim.languages.typst` using
[typst-concealer].
67 changes: 66 additions & 1 deletion modules/plugins/languages/typst.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@
inherit (lib.options) mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.lists) isList;
inherit (lib.types) nullOr enum either attrsOf listOf package str;
inherit (lib.types) nullOr enum either attrsOf listOf package str bool int;
inherit (lib.attrsets) attrNames;
inherit (lib.meta) getExe;
inherit (lib.nvim.binds) mkMappingOption mkKeymap;
inherit (lib.nvim.lua) expToLua toLuaObject;
inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption;
inherit (lib.nvim.dag) entryAnywhere;
Expand Down Expand Up @@ -150,6 +151,57 @@ in {
};
};
};
typst-concealer = {
enable = mkEnableOption ''
[typst-concealer]: https://github.com/PartyWumpus/typst-concealer

Inline typst preview for Neovim via [typst-concealer]
'';

mappings = {
toggleConcealing = mkMappingOption "Enable typst-concealer in buffer" "<leader>TT";
};

setupOpts = mkPluginSetupOption "typst-concealer" {
do_diagnostics = mkOption {
type = nullOr bool;
default = !cfg.lsp.enable;
description = "Should typst-concealer provide diagnostics on error?";
};
color = mkOption {
type = nullOr str;
default = null;
example = "rgb(\"#f012be\")";
description = "What color should typst-concealer render text/stroke with? (only applies when styling_type is 'colorscheme')";
};
enabled_by_default = mkOption {
type = nullOr bool;
default = null;
description = "Should typst-concealer conceal newly opened buffers by default?";
};
styling_type = mkOption {
type = nullOr (enum ["simple" "none" "colorscheme"]);
default = null;
description = "What kind of styling should typst-concealer apply to your typst?";
};
ppi = mkOption {
type = nullOr int;
default = null;
description = "What PPI should typst render at. Plugin default is 300, typst's normal default is 144.";
};
typst_location = mkOption {
type = str;
default = getExe pkgs.typst;
description = "Where should typst-concealer look for your typst binary?";
example = ''lib.getExe pkgs.typst'';
};
conceal_in_normal = mkOption {
type = nullOr bool;
default = null;
description = "Should typst-concealer still conceal when the normal mode cursor goes over a line.";
};
};
};
};
};
config = mkIf cfg.enable (mkMerge [
Expand Down Expand Up @@ -180,5 +232,18 @@ in {
require("typst-preview").setup(${toLuaObject cfg.extensions.typst-preview-nvim.setupOpts})
'';
})

(mkIf cfg.extensions.typst-concealer.enable {
vim.lazy.plugins.typst-concealer = {
event = "BufRead *.typ";
package = "typst-concealer";
setupModule = "typst-concealer";
setupOpts = cfg.extensions.typst-concealer.setupOpts;

keys = [
(mkKeymap "n" cfg.extensions.typst-concealer.mappings.toggleConcealing "<cmd>lua require('typst-concealer').toggle_buf()<CR>" {desc = "Toggle typst-concealer in buffer";})
];
};
})
]);
}
13 changes: 13 additions & 0 deletions npins/sources.json
Original file line number Diff line number Diff line change
Expand Up @@ -2526,6 +2526,19 @@
"url": "https://github.com/dmmulroy/ts-error-translator.nvim/archive/47e5ba89f71b9e6c72eaaaaa519dd59bd6897df4.tar.gz",
"hash": "08whn7l75qv5n74cifmnxc0s7n7ja1g7589pjnbbsk2djn6bqbky"
},
"typst-concealer": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "PartyWumpus",
"repo": "typst-concealer"
},
"branch": "main",
"submodules": false,
"revision": "3d2e72ce7fc06bd0db0dafbdd1e17d3c9e343d53",
"url": "https://github.com/PartyWumpus/typst-concealer/archive/3d2e72ce7fc06bd0db0dafbdd1e17d3c9e343d53.tar.gz",
"hash": "16j3q3hk1wzgcz6snn9997vclhkanplyn0cp1dm9lk034jd8v9nh"
},
"typst-preview-nvim": {
"type": "Git",
"repository": {
Expand Down
Loading