mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-11-10 15:35:30 +00:00
Added chktex options for texlab
This commit is contained in:
parent
637170bc32
commit
19bbdef6a5
1 changed files with 48 additions and 6 deletions
|
|
@ -1,6 +1,5 @@
|
|||
# TODO:
|
||||
# - Add Texlab LSP settings:
|
||||
# - chktex
|
||||
# - symbols
|
||||
{
|
||||
config,
|
||||
|
|
@ -9,7 +8,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (lib.options) mkOption;
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) listOf package str attrs ints enum either path nullOr;
|
||||
inherit (lib.nvim.config) mkBool;
|
||||
|
||||
|
|
@ -104,6 +103,32 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
chktex = {
|
||||
enable = mkBool false "Whether to enable linting via chktex";
|
||||
|
||||
package = mkOption {
|
||||
type = package;
|
||||
default = pkgs.texlive.withPackages (ps: [ps.chktex]);
|
||||
description = ''
|
||||
The chktex package to use.
|
||||
Must have the `chktex` executable.
|
||||
'';
|
||||
};
|
||||
|
||||
onOpenAndSave = mkBool false "Lint using chktex after opening and saving a file.";
|
||||
|
||||
onEdit = mkBool false "Lint using chktex after editing a file.";
|
||||
|
||||
additionalArgs = mkOption {
|
||||
type = listOf str;
|
||||
default = [];
|
||||
description = ''
|
||||
Additional command line arguments that are passed to chktex after editing a file.
|
||||
Don't redefine the `-I` and `-f` flags as they are set by the server.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
latexindent = {
|
||||
local = mkOption {
|
||||
type = nullOr (either str path);
|
||||
|
|
@ -298,7 +323,7 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
config = mkIf (cfg.enable && (cfg.lsp.texlab.enable)) (
|
||||
config = mkIf cfg.enable (
|
||||
let
|
||||
# ----- Setup Config -----
|
||||
# Command to start the LSP
|
||||
|
|
@ -346,6 +371,17 @@ in {
|
|||
else {}
|
||||
)
|
||||
#
|
||||
# -- Chktex --
|
||||
// (
|
||||
if texlabCfg.chktex.enable
|
||||
then {
|
||||
chktex = {
|
||||
inherit (texlabCfg.chktex) onOpenAndSave onEdit additionalArgs;
|
||||
};
|
||||
}
|
||||
else {}
|
||||
)
|
||||
#
|
||||
# -- Build --
|
||||
// (
|
||||
if cfg.build.enable
|
||||
|
|
@ -368,8 +404,14 @@ in {
|
|||
# -- Extra Settings --
|
||||
// texlabCfg.extraLuaSettings
|
||||
);
|
||||
in {
|
||||
vim.lsp.lspconfig.sources.texlab = "lspconfig.texlab.setup(${lib.nvim.lua.toLuaObject setupConfig})";
|
||||
}
|
||||
in (mkMerge [
|
||||
(mkIf texlabCfg.enable {
|
||||
vim.lsp.lspconfig.sources.texlab = "lspconfig.texlab.setup(${lib.nvim.lua.toLuaObject setupConfig})";
|
||||
})
|
||||
|
||||
(mkIf texlabCfg.chktex.enable {
|
||||
vim.extraPackages = [texlabCfg.chktex.package];
|
||||
})
|
||||
])
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue