ui: allow custom listOf str border type

This commit is contained in:
Pei Yang Ching 2024-07-16 11:12:01 +02:00
commit d3cd9809b2
6 changed files with 15 additions and 13 deletions

View file

@ -5,7 +5,7 @@
}: let
inherit (lib.options) mkOption mkEnableOption;
inherit (lib.lists) optionals;
inherit (lib.types) enum;
inherit (lib.types) enum either listOf str;
cfg = config.vim.ui.borders;
@ -15,7 +15,7 @@ in {
enable = mkEnableOption "visible borders for most windows";
globalStyle = mkOption {
type = enum defaultStyles;
type = either (enum defaultStyles) (listOf str);
default = "rounded";
description = ''
The global border style to use.
@ -28,7 +28,7 @@ in {
enable = mkEnableOption "borders for the ${name} plugin" // {default = cfg.enable;};
style = mkOption {
type = enum (defaultStyles ++ optionals (name != "which-key") ["shadow"]);
type = either (enum (defaultStyles ++ optionals (name != "which-key") ["shadow"])) (listOf str);
default = cfg.globalStyle;
description = "The border style to use for the ${name} plugin";
};

View file

@ -4,7 +4,7 @@
...
}: let
inherit (lib.options) mkOption mkEnableOption;
inherit (lib.types) nullOr listOf enum bool str int;
inherit (lib.types) nullOr listOf enum bool str int either;
inherit (lib.modules) mkRenamedOptionModule;
inherit (lib.nvim.types) mkPluginSetupOption;
mkSimpleIconOption = default:
@ -213,7 +213,7 @@ in {
border = mkOption {
# TODO: let this type accept a custom string
type = enum ["single" "rounded" "double" "solid" "none"];
type = either (enum ["single" "rounded" "double" "solid" "none"]) (listOf str);
default = config.vim.ui.borders.globalStyle;
description = "border style to use";
};
@ -237,7 +237,7 @@ in {
border = mkOption {
# TODO: let this type accept a custom string
type = nullOr (enum ["single" "rounded" "double" "solid" "none"]);
type = nullOr (either (enum ["single" "rounded" "double" "solid" "none"]) (listOf str));
default = config.vim.ui.borders.globalStyle;
description = "border style to use for the left section of Navbuddy UI";
};
@ -255,7 +255,7 @@ in {
border = mkOption {
# TODO: let this type accept a custom string
type = nullOr (enum ["single" "rounded" "double" "solid" "none"]);
type = nullOr (either (enum ["single" "rounded" "double" "solid" "none"]) (listOf str));
default = config.vim.ui.borders.globalStyle;
description = "border style to use for the middle section of Navbuddy UI";
};
@ -266,7 +266,7 @@ in {
right = {
border = mkOption {
# TODO: let this type accept a custom string
type = nullOr (enum ["single" "rounded" "double" "solid" "none"]);
type = nullOr (either (enum ["single" "rounded" "double" "solid" "none"]) (listOf str));
default = config.vim.ui.borders.globalStyle;
description = "border style to use for the right section of Navbuddy UI";
};