Skip to content

Commit cdd5caf

Browse files
committed
plugins/friendly-snippets: add warning when using performance.combinePlugins
Signed-off-by: saygo-png <saygo.mail@proton.me>
1 parent 68b07c2 commit cdd5caf

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

plugins/by-name/friendly-snippets/default.nix

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
{
22
lib,
3+
config,
4+
options,
35
...
46
}:
57
lib.nixvim.plugins.mkVimPlugin {
@@ -9,6 +11,32 @@ lib.nixvim.plugins.mkVimPlugin {
911
maintainers = [ lib.maintainers.GaetanLepage ];
1012

1113
extraConfig = {
14+
warnings = lib.nixvim.mkWarnings "plugins.friendly-snippets" [
15+
(
16+
let
17+
snippetConsumers = map (lib.splitString ".") [
18+
"plugins.luasnip.enable"
19+
"plugins.cmp.enable"
20+
"plugins.blink-cmp.enable"
21+
"plugins.nvim-snippets.enable"
22+
];
23+
enabledConsumers = builtins.filter (path: lib.getAttrFromPath path config) snippetConsumers;
24+
enabledConsumersPretty = lib.join ", " (
25+
map (path: lib.getAttrFromPath path options) enabledConsumers
26+
);
27+
in
28+
{
29+
when =
30+
config.performance.combinePlugins.enable
31+
&& !(builtins.elem "friendly-snippets" config.performance.combinePlugins.standalonePlugins)
32+
&& (enabledConsumers != [ ]);
33+
message = ''
34+
When using ${options.performance.combinePlugins.enable}, ${options.plugins.friendly-snippets.enable} and ${enabledConsumersPretty}:
35+
"friendly-snippets" has to be added to ${options.performance.combinePlugins.standalonePlugins} in order to be picked up by the aforementioned plugins.
36+
'';
37+
}
38+
)
39+
];
1240
# Simply add an element to the `fromVscode` list to trigger the import of friendly-snippets
1341
plugins.luasnip.fromVscode = [ { } ];
1442
};

0 commit comments

Comments
 (0)