Skip to content

Commit 595bbd2

Browse files
committed
lib/(neo)vim-plugin: move mkRenamedOptionModule to lib.deprecation processRenameOptions
Supports a function that can be used to specify the destination path for a list of options.
1 parent bc5733a commit 595bbd2

File tree

4 files changed

+23
-19
lines changed

4 files changed

+23
-19
lines changed

lib/deprecation.nix

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,21 @@ rec {
4646
'';
4747
};
4848

49+
processRenameOptions =
50+
options: oldPath: newPath:
51+
(map (
52+
option:
53+
let
54+
result =
55+
let
56+
optionPath = lib.toList option;
57+
optionPathSnakeCase = map lib.nixvim.toSnakeCase optionPath;
58+
in
59+
lib.mkRenamedOptionModule (oldPath ++ optionPath) (newPath ++ optionPathSnakeCase);
60+
in
61+
result
62+
) options);
63+
4964
# A clone of types.coercedTo, but it prints a warning when oldType is used.
5065
transitionType =
5166
oldType: coerceFn: newType:

lib/helpers.nix

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,12 @@ let
3838
byteCompileLuaDrv
3939
;
4040

41-
inherit (helpers.deprecation) getOptionRecursive mkDeprecatedSubOptionModule transitionType;
41+
inherit (helpers.deprecation)
42+
getOptionRecursive
43+
mkDeprecatedSubOptionModule
44+
processRenameOptions
45+
transitionType
46+
;
4247

4348
inherit (helpers.options)
4449
defaultNullOpts

lib/neovim-plugin.nix

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,7 @@ with lib;
7171
++ (optional deprecateExtraOptions (
7272
mkRenamedOptionModule (basePluginPath ++ [ "extraOptions" ]) settingsPath
7373
))
74-
++ (map (
75-
option:
76-
let
77-
optionPath = if isString option then [ option ] else option; # option is already a path (i.e. a list)
78-
79-
optionPathSnakeCase = map helpers.toSnakeCase optionPath;
80-
in
81-
mkRenamedOptionModule (basePluginPath ++ optionPath) (settingsPath ++ optionPathSnakeCase)
82-
) optionsRenamedToSettings);
74+
++ (nixvim.processRenameOptions optionsRenamedToSettings basePluginPath settingsPath);
8375

8476
options.${namespace}.${name} =
8577
{

lib/vim-plugin.nix

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -86,15 +86,7 @@ with lib;
8686
++ (optional (deprecateExtraConfig && createSettingsOption) (
8787
mkRenamedOptionModule (basePluginPath ++ [ "extraConfig" ]) settingsPath
8888
))
89-
++ (map (
90-
option:
91-
let
92-
optionPath = if isString option then [ option ] else option; # option is already a path (i.e. a list)
93-
94-
optionPathSnakeCase = map helpers.toSnakeCase optionPath;
95-
in
96-
mkRenamedOptionModule (basePluginPath ++ optionPath) (settingsPath ++ optionPathSnakeCase)
97-
) optionsRenamedToSettings);
89+
++ (nixvim.processRenameOptions optionsRenamedToSettings basePluginPath settingsPath);
9890

9991
config = mkIf cfg.enable (mkMerge [
10092
{

0 commit comments

Comments
 (0)