From fefe9c922e73c26fe03e6dcfeacb435ea4a47a71 Mon Sep 17 00:00:00 2001 From: saygo-png Date: Fri, 7 Nov 2025 03:09:52 +0100 Subject: [PATCH] plugins/friendly-snippets: add warning when using `performance.combinePlugins` Signed-off-by: saygo-png --- plugins/by-name/friendly-snippets/default.nix | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/plugins/by-name/friendly-snippets/default.nix b/plugins/by-name/friendly-snippets/default.nix index 2758bc06..ae345036 100644 --- a/plugins/by-name/friendly-snippets/default.nix +++ b/plugins/by-name/friendly-snippets/default.nix @@ -1,5 +1,7 @@ { lib, + config, + options, ... }: lib.nixvim.plugins.mkVimPlugin { @@ -9,6 +11,30 @@ lib.nixvim.plugins.mkVimPlugin { 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 = [ { } ]; };