treewide: consolidate iconsPackage removal and warning

This commit is contained in:
Austin Horstman 2024-09-21 08:38:11 -05:00
parent 38a183564b
commit b473bdc5ae
No known key found for this signature in database
12 changed files with 64 additions and 208 deletions

View file

@ -51,20 +51,6 @@ let
}; };
in in
{ {
# TODO: added 2024-09-20 remove after 24.11
imports = [
(lib.mkRemovedOptionModule
[
"plugins"
"alpha"
"iconsPackage"
]
''
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
''
)
];
options = { options = {
plugins.alpha = { plugins.alpha = {
enable = lib.mkEnableOption "alpha-nvim"; enable = lib.mkEnableOption "alpha-nvim";
@ -167,23 +153,11 @@ in
lib.mkIf cfg.enable { lib.mkIf cfg.enable {
# TODO: added 2024-09-20 remove after 24.11 # TODO: added 2024-09-20 remove after 24.11
warnings = lib.optionals opt.iconsEnabled.isDefined ( warnings = lib.optionals opt.iconsEnabled.isDefined [
[
'' ''
The option definition `plugins.alpha.iconsEnabled' in ${lib.showFiles opt.iconsEnabled.files} has been deprecated; please remove it. The option definition `plugins.alpha.iconsEnabled' in ${lib.showFiles opt.iconsEnabled.files} has been deprecated; please remove it.
'' ''
] ];
++
lib.optional
(
(opt.iconsEnabled.isDefined -> cfg.iconsEnabled)
&& options.plugins.web-devicons.enable.highestPrio == 1490
)
''
Nixvim (plugins.alpha) `web-devicons` automatic installation is deprecated.
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
''
);
plugins.web-devicons = plugins.web-devicons =
lib.mkIf lib.mkIf
( (

View file

@ -173,17 +173,6 @@ lib.nixvim.neovim-plugin.mkNeovimPlugin {
] ]
) )
) )
# TODO: added 2024-09-20 remove after 24.11
(lib.mkRemovedOptionModule
[
"plugins"
"barbar"
"iconsPackage"
]
''
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
''
)
] ]
++ (map ++ (map
( (
@ -232,10 +221,6 @@ lib.nixvim.neovim-plugin.mkNeovimPlugin {
&& config.plugins.mini.mockDevIcons && config.plugins.mini.mockDevIcons
) )
) { enable = mkOverride 1490 true; }; ) { enable = mkOverride 1490 true; };
warnings = optional (options.plugins.web-devicons.enable.highestPrio == 1490) ''
Nixvim (plugins.barbar) `web-devicons` automatic installation is deprecated.
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
'';
keymaps = filter (keymap: keymap != null) ( keymaps = filter (keymap: keymap != null) (
# TODO: switch to `attrValues cfg.keymaps` when removing the deprecation warnings above: # TODO: switch to `attrValues cfg.keymaps` when removing the deprecation warnings above:

View file

@ -162,9 +162,6 @@ lib.nixvim.neovim-plugin.mkNeovimPlugin {
(lib.mkRenamedOptionModule (oldHighlightsPath ++ [ "trunkMarker" ]) ( (lib.mkRenamedOptionModule (oldHighlightsPath ++ [ "trunkMarker" ]) (
newHighlightsPath ++ [ "trunc_marker" ] newHighlightsPath ++ [ "trunc_marker" ]
)) ))
(lib.mkRemovedOptionModule (basePluginPath ++ [ "iconsPackage" ]) ''
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
'')
] ]
++ mkSettingsRenamedOptionModules basePluginPath optionsPath oldOptions ++ mkSettingsRenamedOptionModules basePluginPath optionsPath oldOptions
++ mkSettingsRenamedOptionModules oldHighlightsPath newHighlightsPath oldHighlightOptions; ++ mkSettingsRenamedOptionModules oldHighlightsPath newHighlightsPath oldHighlightOptions;
@ -666,10 +663,7 @@ lib.nixvim.neovim-plugin.mkNeovimPlugin {
&& config.plugins.mini.mockDevIcons && config.plugins.mini.mockDevIcons
) )
) { enable = lib.mkOverride 1490 true; }; ) { enable = lib.mkOverride 1490 true; };
warnings = lib.optional (options.plugins.web-devicons.enable.highestPrio == 1490) ''
Nixvim (plugins.bufferline) `web-devicons` automatic installation is deprecated.
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
'';
opts.termguicolors = true; opts.termguicolors = true;
}; };
} }

View file

@ -12,20 +12,6 @@ let
mkListStr = helpers.defaultNullOpts.mkNullable (types.listOf types.str); mkListStr = helpers.defaultNullOpts.mkNullable (types.listOf types.str);
in in
{ {
# TODO: added 2024-09-20 remove after 24.11
imports = [
(lib.mkRemovedOptionModule
[
"plugins"
"chadtree"
"iconsPackage"
]
''
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
''
)
];
options.plugins.chadtree = helpers.neovim-plugin.extraOptionsOptions // { options.plugins.chadtree = helpers.neovim-plugin.extraOptionsOptions // {
enable = mkEnableOption "chadtree"; enable = mkEnableOption "chadtree";
@ -526,17 +512,6 @@ in
{ {
enable = lib.mkOverride 1490 false; enable = lib.mkOverride 1490 false;
}; };
warnings =
optional
(
(cfg.theme == null || cfg.theme.iconGlyphSet == "devicons")
&& options.plugins.web-devicons.enable.highestPrio == 1490
)
''
Nixvim (plugins.chadtree) `web-devicons` automatic installation is deprecated.
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
'';
extraPlugins = [ cfg.package ]; extraPlugins = [ cfg.package ];

View file

@ -81,19 +81,6 @@ let
}; };
in in
{ {
# TODO: added 2024-09-20 remove after 24.11
imports = [
(lib.mkRemovedOptionModule
[
"plugins"
"diffview"
"iconsPackage"
]
''
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
''
)
];
options.plugins.diffview = options.plugins.diffview =
with helpers.defaultNullOpts; with helpers.defaultNullOpts;
helpers.neovim-plugin.extraOptionsOptions helpers.neovim-plugin.extraOptionsOptions
@ -844,10 +831,6 @@ in
&& config.plugins.mini.mockDevIcons && config.plugins.mini.mockDevIcons
) )
) { enable = mkOverride 1490 true; }; ) { enable = mkOverride 1490 true; };
warnings = optional (options.plugins.web-devicons.enable.highestPrio == 1490) ''
Nixvim (plugins.diffview) `web-devicons` automatic installation is deprecated.
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
'';
extraPlugins = [ cfg.package ]; extraPlugins = [ cfg.package ];

View file

@ -38,20 +38,6 @@ helpers.neovim-plugin.mkNeovimPlugin {
inherit settingsOptions settingsExample; inherit settingsOptions settingsExample;
# TODO: added 2024-09-20 remove after 24.11
imports = [
(lib.mkRemovedOptionModule
[
"plugins"
"fzf-lua"
"iconsPackage"
]
''
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
''
)
];
extraOptions = { extraOptions = {
fzfPackage = lib.mkPackageOption pkgs "fzf" { fzfPackage = lib.mkPackageOption pkgs "fzf" {
nullable = true; nullable = true;
@ -122,23 +108,11 @@ helpers.neovim-plugin.mkNeovimPlugin {
in in
{ {
# TODO: deprecated 2024-08-29 remove after 24.11 # TODO: deprecated 2024-08-29 remove after 24.11
warnings = lib.optionals opt.iconsEnabled.isDefined ( warnings = lib.optionals opt.iconsEnabled.isDefined [
[
'' ''
The option definition `plugins.fzf-lua.iconsEnabled' in ${lib.showFiles opt.iconsEnabled.files} has been deprecated; please remove it. The option definition `plugins.fzf-lua.iconsEnabled' in ${lib.showFiles opt.iconsEnabled.files} has been deprecated; please remove it.
'' ''
] ];
++
lib.optional
(
(opt.iconsEnabled.isDefined -> cfg.iconsEnabled)
&& options.plugins.web-devicons.enable.highestPrio == 1490
)
''
Nixvim (plugins.fzf-lua) `web-devicons` automatic installation is deprecated.
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
''
);
# TODO: added 2024-09-20 remove after 24.11 # TODO: added 2024-09-20 remove after 24.11
plugins.web-devicons = plugins.web-devicons =
lib.mkIf lib.mkIf

View file

@ -44,19 +44,6 @@ in
"keys" "keys"
"borderStyle" "borderStyle"
"renamePromptPrefix" "renamePromptPrefix"
]
++ [
# TODO: added 2024-09-20 remove after 24.11
(lib.mkRemovedOptionModule
[
"plugins"
"lspsaga"
"iconsPackage"
]
''
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
''
)
]; ];
options = { options = {
@ -484,17 +471,7 @@ in
{ {
enable = mkOverride 1490 true; enable = mkOverride 1490 true;
}; };
warnings = warnings = lib.optional (
lib.optional
(
(cfg.ui.devicon == null || cfg.ui.devicon)
&& options.plugins.web-devicons.enable.highestPrio == 1490
)
''
Nixvim (plugins.lspsaga) `web-devicons` automatic installation is deprecated.
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
''
++ lib.optional (
# https://nvimdev.github.io/lspsaga/implement/#default-options # https://nvimdev.github.io/lspsaga/implement/#default-options
(isBool cfg.implement.enable && cfg.implement.enable) (isBool cfg.implement.enable && cfg.implement.enable)
&& (isBool cfg.symbolInWinbar.enable && !cfg.symbolInWinbar.enable) && (isBool cfg.symbolInWinbar.enable && !cfg.symbolInWinbar.enable)

View file

@ -26,17 +26,6 @@ in
(mkRemovedOptionModule ( (mkRemovedOptionModule (
basePluginPath ++ [ "closeFloatsOnEscapeKey" ] basePluginPath ++ [ "closeFloatsOnEscapeKey" ]
) "This option has been removed from upstream.") ) "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 = options.plugins.neo-tree =
let let
@ -1145,10 +1134,6 @@ in
&& config.plugins.mini.mockDevIcons && config.plugins.mini.mockDevIcons
) )
) { enable = mkOverride 1490 true; }; ) { 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 = [ extraPlugins = [
cfg.package cfg.package

View file

@ -1171,10 +1171,6 @@ in
&& config.plugins.mini.mockDevIcons && config.plugins.mini.mockDevIcons
) )
) { enable = mkOverride 1490 true; }; ) { enable = mkOverride 1490 true; };
warnings = optional (options.plugins.web-devicons.enable.highestPrio == 1490) ''
Nixvim (plugins.nvim-tree) `web-devicons` automatic installation is deprecated.
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
'';
extraPlugins = [ extraPlugins = [
cfg.package cfg.package

View file

@ -37,17 +37,6 @@ lib.nixvim.neovim-plugin.mkNeovimPlugin {
] ]
"This option no longer has any effect now that the `plugin.telescope.keymaps` implementation uses `<cmd>`." "This option no longer has any effect now that the `plugin.telescope.keymaps` implementation uses `<cmd>`."
) )
# TODO: added 2024-09-20 remove after 24.11
(lib.mkRemovedOptionModule
[
"plugins"
"telescope"
"iconsPackage"
]
''
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
''
)
]; ];
extraOptions = { extraOptions = {
@ -115,10 +104,6 @@ lib.nixvim.neovim-plugin.mkNeovimPlugin {
&& config.plugins.mini.mockDevIcons && config.plugins.mini.mockDevIcons
) )
) { enable = mkOverride 1490 true; }; ) { enable = mkOverride 1490 true; };
warnings = optional (options.plugins.web-devicons.enable.highestPrio == 1490) ''
Nixvim (plugins.telescope) `web-devicons` automatic installation is deprecated.
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
'';
extraConfigVim = mkIf (cfg.highlightTheme != null) '' extraConfigVim = mkIf (cfg.highlightTheme != null) ''
let $BAT_THEME = '${cfg.highlightTheme}' let $BAT_THEME = '${cfg.highlightTheme}'

View file

@ -13,20 +13,6 @@ helpers.neovim-plugin.mkNeovimPlugin {
maintainers = [ maintainers.loicreynier ]; maintainers = [ maintainers.loicreynier ];
# TODO: added 2024-09-20 remove after 24.11
imports = [
(lib.mkRemovedOptionModule
[
"plugins"
"trouble"
"iconsPackage"
]
''
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
''
)
];
# TODO introduced 2024-03-15: remove 2024-05-15 # TODO introduced 2024-03-15: remove 2024-05-15
optionsRenamedToSettings = [ optionsRenamedToSettings = [
"autoClose" "autoClose"
@ -324,9 +310,5 @@ helpers.neovim-plugin.mkNeovimPlugin {
&& config.plugins.mini.mockDevIcons && config.plugins.mini.mockDevIcons
) )
) { enable = mkOverride 1490 true; }; ) { enable = mkOverride 1490 true; };
warnings = optional (options.plugins.web-devicons.enable.highestPrio == 1490) ''
Nixvim (plugins.trouble) `web-devicons` automatic installation is deprecated.
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
'';
}; };
} }

View file

@ -14,6 +14,21 @@ let
# Added 2024-09-17 # Added 2024-09-17
surround = "vim-surround"; surround = "vim-surround";
}; };
# Added 2024-09-21; remove after 24.11
# `iconsPackage` options were briefly available in the following plugins for ~3 weeks
iconsPackagePlugins = [
"telescope"
"lspsaga"
"nvim-tree"
"neo-tree"
"trouble"
"alpha"
"diffview"
"fzf-lua"
"bufferline"
"barbar"
"chadtree"
];
in in
{ {
@ -36,5 +51,36 @@ in
"plugins" "plugins"
new new
] ]
) renamed); ) renamed)
++ builtins.map (
name:
lib.mkRemovedOptionModule
[
"plugins"
name
"iconsPackage"
]
''
Please use `plugins.web-devicons` or `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons` instead.
''
) iconsPackagePlugins
# Show a warning when web-devicons is auto-enabled
++ [
(
{ config, options, ... }:
{
config = lib.mkIf (options.plugins.web-devicons.enable.highestPrio == 1490) {
warnings = [
''
Nixvim: `plugins.web-devicons` was enabled automatically because the following plugins are enabled.
This behaviour is deprecated. Please explicitly define `plugins.web-devicons.enable` or alternatively enable `plugins.mini.modules.icons` with `plugins.mini.mockDevIcons`.
${lib.concatMapStringsSep "\n" (name: "plugins.${name}") (
builtins.filter (name: config.plugins.${name}.enable) iconsPackagePlugins
)}
''
];
};
}
)
];
} }