Skip to content

Commit 31899c4

Browse files
committed
plugins/ltex-extra: prefer ltex_plus over ltex
ltex_plus is a maintained fork that recently got supported by ltex-extra barreiroleo/ltex_extra.nvim#66 Enable it unless the user explicitly use ltex
1 parent 94a5113 commit 31899c4

File tree

1 file changed

+49
-16
lines changed

1 file changed

+49
-16
lines changed

plugins/by-name/ltex-extra/default.nix

+49-16
Original file line numberDiff line numberDiff line change
@@ -43,26 +43,59 @@ lib.nixvim.plugins.mkNeovimPlugin {
4343
] "Log level.";
4444
};
4545

46-
extraConfig = cfg: {
47-
warnings = lib.nixvim.mkWarnings "plugins.ltex-extra" {
48-
when = !config.plugins.lsp.enable;
49-
message = ''
50-
You have enabled `ltex-extra` but not the lsp (`plugins.lsp`).
51-
You should set `plugins.lsp.enable = true` to make use of the LTeX_extra plugin's features.
46+
extraConfig =
47+
cfg:
48+
let
49+
inherit (config.plugins.lsp.servers) ltex;
50+
attachLua = ''
51+
require("ltex_extra").setup(${lib.nixvim.toLuaObject cfg.settings})
5252
'';
53-
};
54-
55-
plugins.lsp = {
56-
servers.ltex = {
57-
# Enable the ltex language server
58-
enable = true;
53+
in
54+
{
55+
warnings = lib.nixvim.mkWarnings "plugins.ltex-extra" [
56+
{
57+
when = !config.plugins.lsp.enable;
58+
message = ''
59+
You have enabled `ltex-extra` but not the lsp (`plugins.lsp`).
60+
You should set `plugins.lsp.enable = true` to make use of the LTeX_extra plugin's features.
61+
'';
62+
}
63+
{
64+
# TODO: Added 2025-03-30; remove after 25.05
65+
# Warn if someone seem to have an externaly configured servers.ltex
66+
when =
67+
ltex.enable != true
68+
&& (
69+
ltex.onAttach.function != attachLua
70+
|| ltex.onAttach.override != false
71+
||
72+
[ ] != collect (v: !(isAttrs v || v == null)) (
73+
ltex
74+
// {
75+
extraSettings = null;
76+
package = null;
77+
onAttach = null;
78+
}
79+
)
80+
);
81+
message = ''
82+
You seem to have configured `plugins.lsp.servers.ltex` for ltex-extra.
83+
It now uses `plugins.lsp.servers.ltex_plus` by default,
84+
either move the configuration or explicitly enable `ltex` with
85+
`plugins.lsp.servers.ltex.enable = true`
86+
'';
87+
}
88+
];
5989

60-
onAttach.function = ''
61-
require("ltex_extra").setup(${lib.nixvim.toLuaObject cfg.settings})
62-
'';
90+
plugins.lsp = {
91+
servers.ltex.onAttach.function = attachLua;
92+
servers.ltex_plus = {
93+
# Enable ltex_plus if ltex is not already enabled
94+
enable = mkIf (!ltex.enable) true;
95+
onAttach.function = attachLua;
96+
};
6397
};
6498
};
65-
};
6699

67100
settingsExample = {
68101
path = ".ltex";

0 commit comments

Comments
 (0)