1
0
Fork 0
mirror of https://github.com/nix-community/nixvim.git synced 2025-11-16 07:22:49 +01:00
nixvim/plugins/by-name/friendly-snippets/default.nix
saygo-png 8d77d869a2 plugins/friendly-snippets: add warning when using performance.combinePlugins
Signed-off-by: saygo-png <saygo.mail@proton.me>
2025-11-11 23:00:45 +00:00

41 lines
1.5 KiB
Nix

{
lib,
config,
options,
...
}:
lib.nixvim.plugins.mkVimPlugin {
name = "friendly-snippets";
description = "Set of preconfigured snippets for different languages.";
maintainers = [ lib.maintainers.GaetanLepage ];
extraConfig = {
warnings = lib.nixvim.mkWarnings "plugins.friendly-snippets" (
let
snippetConsumers = map (lib.splitString ".") [
"plugins.luasnip.enable"
"plugins.cmp.enable"
"plugins.blink-cmp.enable"
"plugins.nvim-snippets.enable"
];
enabledConsumers = builtins.filter (path: lib.getAttrFromPath path config) snippetConsumers;
enabledConsumersPretty = lib.concatMapStringsSep ", " (
path: lib.getAttrFromPath path options
) enabledConsumers;
in
{
when =
config.performance.combinePlugins.enable
&& !(builtins.elem "friendly-snippets" config.performance.combinePlugins.standalonePlugins)
&& (enabledConsumers != [ ]);
message = ''
When using ${options.performance.combinePlugins.enable}, ${options.plugins.friendly-snippets.enable} and ${enabledConsumersPretty}:
"friendly-snippets" has to be added to ${options.performance.combinePlugins.standalonePlugins} in order to be picked up by the aforementioned plugins.
'';
}
);
# Simply add an element to the `fromVscode` list to trigger the import of friendly-snippets
plugins.luasnip.fromVscode = [ { } ];
};
}