From e23bd5475c992cda52c9e08aad431e73c9f54692 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 20 Sep 2024 13:25:13 -0500 Subject: [PATCH] plugins/neo-tree: iconsPackage -> icons provider options --- plugins/by-name/neo-tree/default.nix | 32 +++++++++++++++---- .../plugins/by-name/neo-tree/default.nix | 11 ++++++- .../plugins/by-name/netman/default.nix | 1 + 3 files changed, 37 insertions(+), 7 deletions(-) diff --git a/plugins/by-name/neo-tree/default.nix b/plugins/by-name/neo-tree/default.nix index 1b014e87..0d8c289f 100644 --- a/plugins/by-name/neo-tree/default.nix +++ b/plugins/by-name/neo-tree/default.nix @@ -3,6 +3,7 @@ helpers, config, pkgs, + options, ... }: with lib; @@ -25,6 +26,17 @@ in (mkRemovedOptionModule ( basePluginPath ++ [ "closeFloatsOnEscapeKey" ] ) "This option has been removed from upstream.") + # TODO: added 2024-09-20 remove after 24.11 + (lib.mkRemovedOptionModule + [ + "plugins" + "neo-tree" + "iconsPackage" + ] + '' + Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead. + '' + ) ]; options.plugins.neo-tree = let @@ -62,11 +74,6 @@ in ]; }; - iconsPackage = lib.mkPackageOption pkgs [ - "vimPlugins" - "nvim-web-devicons" - ] { nullable = true; }; - gitPackage = lib.mkPackageOption pkgs "git" { nullable = true; }; @@ -1130,9 +1137,22 @@ in // cfg.extraOptions; in mkIf cfg.enable { + # TODO: added 2024-09-20 remove after 24.11 + plugins.web-devicons = mkIf ( + !( + config.plugins.mini.enable + && config.plugins.mini.modules ? icons + && config.plugins.mini.mockDevIcons + ) + ) { enable = mkOverride 1490 true; }; + warnings = optional (options.plugins.web-devicons.enable.highestPrio == 1490) '' + Nixvim (plugins.neo-tree) `web-devicons` automatic installation is deprecated. + Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead. + ''; + extraPlugins = [ cfg.package - ] ++ lib.optional (cfg.iconsPackage != null) cfg.iconsPackage; + ]; extraConfigLua = '' require('neo-tree').setup(${helpers.toLuaObject setupOptions}) diff --git a/tests/test-sources/plugins/by-name/neo-tree/default.nix b/tests/test-sources/plugins/by-name/neo-tree/default.nix index 68939bd9..8226d00e 100644 --- a/tests/test-sources/plugins/by-name/neo-tree/default.nix +++ b/tests/test-sources/plugins/by-name/neo-tree/default.nix @@ -1,9 +1,11 @@ { empty = { + plugins.web-devicons.enable = true; plugins.neo-tree.enable = true; }; defaults = { + plugins.web-devicons.enable = true; plugins.neo-tree = { enable = true; @@ -439,10 +441,17 @@ }; no-packages = { + plugins.web-devicons.enable = false; plugins.neo-tree = { enable = true; - iconsPackage = null; gitPackage = null; }; }; + + no-icons = { + plugins = { + web-devicons.enable = false; + neo-tree.enable = true; + }; + }; } diff --git a/tests/test-sources/plugins/by-name/netman/default.nix b/tests/test-sources/plugins/by-name/netman/default.nix index c770ef19..7e45abc1 100644 --- a/tests/test-sources/plugins/by-name/netman/default.nix +++ b/tests/test-sources/plugins/by-name/netman/default.nix @@ -12,5 +12,6 @@ pkgs.lib.optionalAttrs (!pkgs.stdenv.isDarwin) { enable = true; neoTreeIntegration = true; }; + plugins.web-devicons.enable = true; }; }