From 75147fbd825fd28f20ac075e7bfe1c317285bb14 Mon Sep 17 00:00:00 2001 From: Heitor Augusto <44377258+HeitorAugustoLN@users.noreply.github.com> Date: Mon, 10 Nov 2025 16:14:30 -0300 Subject: [PATCH 1/3] plugins/gdscript-extended-lsp: init --- .../by-name/gdscript-extended-lsp/default.nix | 27 +++++++++++ .../by-name/gdscript-extended-lsp/default.nix | 46 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 plugins/by-name/gdscript-extended-lsp/default.nix create mode 100644 tests/test-sources/plugins/by-name/gdscript-extended-lsp/default.nix diff --git a/plugins/by-name/gdscript-extended-lsp/default.nix b/plugins/by-name/gdscript-extended-lsp/default.nix new file mode 100644 index 0000000000..88eb777372 --- /dev/null +++ b/plugins/by-name/gdscript-extended-lsp/default.nix @@ -0,0 +1,27 @@ +{ config, lib, ... }: +lib.nixvim.plugins.mkNeovimPlugin { + name = "gdscript-extended-lsp"; + package = "gdscript-extended-lsp-nvim"; + + maintainers = [ lib.maintainers.HeitorAugustoLN ]; + + settingsExample = { + picker = "snacks"; + }; + + extraConfig = cfg: opts: { + warnings = lib.nixvim.mkWarnings "plugins.gdscript-extended-lsp" ( + lib.mapAttrsToList + (picker: pluginName: { + when = cfg.settings.picker or null == picker && !config.plugins.${pluginName}.enable; + message = '' + You have defined `${opts.settings}.picker = "${picker}"` but `plugins.${pluginName}` is not enabled. + ''; + }) + { + telescope = "telescope"; + snacks = "snacks"; + } + ); + }; +} diff --git a/tests/test-sources/plugins/by-name/gdscript-extended-lsp/default.nix b/tests/test-sources/plugins/by-name/gdscript-extended-lsp/default.nix new file mode 100644 index 0000000000..412e13d3b8 --- /dev/null +++ b/tests/test-sources/plugins/by-name/gdscript-extended-lsp/default.nix @@ -0,0 +1,46 @@ +{ + empty = { + plugins.gdscript-extended-lsp.enable = true; + }; + + defaults = { + plugins = { + gdscript-extended-lsp = { + enable = true; + settings = { + doc_file_extension = ".txt"; + view_type = "vsplit"; + split_side = false; + keymaps = { + declaration = "gd"; + close = [ + "q" + "" + ]; + }; + floating_win_size = 0.8; + picker = "telescope"; + }; + }; + + telescope.enable = true; + web-devicons.enable = true; + }; + }; + + example = { + plugins = { + gdscript-extended-lsp = { + enable = true; + settings = { + picker = "snacks"; + }; + }; + + snacks = { + enable = true; + settings.picker.enabled = true; + }; + }; + }; +} From ac6008957519fb0948a05c14f631447df48137de Mon Sep 17 00:00:00 2001 From: Heitor Augusto <44377258+HeitorAugustoLN@users.noreply.github.com> Date: Mon, 24 Nov 2025 19:00:17 -0300 Subject: [PATCH 2/3] plugins/easy-dotnet: improve picker not enabled warning --- plugins/by-name/easy-dotnet/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/by-name/easy-dotnet/default.nix b/plugins/by-name/easy-dotnet/default.nix index 68d90c4d78..975c1fad3e 100644 --- a/plugins/by-name/easy-dotnet/default.nix +++ b/plugins/by-name/easy-dotnet/default.nix @@ -38,12 +38,14 @@ lib.nixvim.plugins.mkNeovimPlugin { } ''; - extraConfig = cfg: { + extraConfig = cfg: opts: { warnings = lib.nixvim.mkWarnings "plugins.easy-dotnet" ( lib.mapAttrsToList (pickerName: pluginName: { - when = (cfg.settings.picker or null == pickerName) && (!config.plugins.${pluginName}.enable); - message = "You have chosen to use '${pickerName}' as a picker but 'plugins.${pluginName}' is not enabled."; + when = (cfg.settings.picker or null == pickerName) && !config.plugins.${pluginName}.enable; + message = '' + You have defined `${opts.settings}.picker = "${pickerName}"` but `plugins.${pluginName}` is not enabled. + ''; }) { fzf = "fzf-lua"; From 0ba41f8b48307532c566b850f01d1bfcb6c77166 Mon Sep 17 00:00:00 2001 From: Heitor Augusto <44377258+HeitorAugustoLN@users.noreply.github.com> Date: Mon, 24 Nov 2025 19:00:47 -0300 Subject: [PATCH 3/3] plugins/zk: improve picker not enabled warning --- plugins/by-name/zk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/by-name/zk/default.nix b/plugins/by-name/zk/default.nix index ee39298885..1ca88f56c5 100644 --- a/plugins/by-name/zk/default.nix +++ b/plugins/by-name/zk/default.nix @@ -98,13 +98,13 @@ lib.nixvim.plugins.mkNeovimPlugin { }; - extraConfig = cfg: { + extraConfig = cfg: opts: { warnings = lib.nixvim.mkWarnings "plugins.zk" ( mapAttrsToList (picker: pluginName: { when = (cfg.settings.picker == picker) && !config.plugins.${pluginName}.enable; message = '' - You have set `plugins.zk.settings.picker = "${picker}"` but `plugins.${pluginName}` is not enabled in your config. + You have defined `${opts.settings}.picker = "${picker}"` but `plugins.${pluginName}` is not enabled. ''; }) {