From 9d4d529ee7d03f7dc91a26f6ca06d0b20b07abe8 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 19 Feb 2024 10:59:18 +0100 Subject: [PATCH] helpers/neovim-plugin/mkNeovimPlugin: allow lists in optionsRenamedToSettings --- lib/neovim-plugin.nix | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/neovim-plugin.nix b/lib/neovim-plugin.nix index c494a5e3..f093b13e 100644 --- a/lib/neovim-plugin.nix +++ b/lib/neovim-plugin.nix @@ -62,6 +62,7 @@ with lib; rec { imports = let basePluginPath = [namespace name]; + settingsPath = basePluginPath ++ ["settings"]; in imports ++ ( @@ -70,16 +71,23 @@ with lib; rec { ( mkRenamedOptionModule (basePluginPath ++ ["extraOptions"]) - (basePluginPath ++ ["settings"]) + settingsPath ) ) ++ ( map ( - optionName: + option: let + optionPath = + if isString option + then [option] + else option; # option is already a path (i.e. a list) + + optionPathSnakeCase = map nixvimUtils.toSnakeCase optionPath; + in mkRenamedOptionModule - (basePluginPath ++ [optionName]) - (basePluginPath ++ ["settings" (nixvimUtils.toSnakeCase optionName)]) + (basePluginPath ++ optionPath) + (settingsPath ++ optionPathSnakeCase) ) optionsRenamedToSettings );