colorizer: move back to setupOpts

This commit is contained in:
Ching Pei Yang 2024-05-12 02:11:59 +02:00
parent 981fe07075
commit 82e92a56da
2 changed files with 49 additions and 15 deletions

View file

@ -4,8 +4,9 @@
... ...
}: let }: let
inherit (lib.options) mkOption mkEnableOption; inherit (lib.options) mkOption mkEnableOption;
inherit (lib.types) attrsOf enum nullOr submodule bool; inherit (lib.types) attrsOf enum nullOr submodule bool str;
inherit (lib.modules) mkRenamedOptionModule; inherit (lib.modules) mkRenamedOptionModule;
inherit (lib.nvim.types) mkPluginSetupOption;
settingSubmodule = submodule { settingSubmodule = submodule {
options = { options = {
@ -33,6 +34,12 @@
type = nullOr bool; type = nullOr bool;
}; };
AARRGGBB = mkOption {
description = "Colorize 0xAARRGGBB hex codes";
default = null;
type = nullOr bool;
};
rgb_fn = mkOption { rgb_fn = mkOption {
description = "Colorize CSS rgb() and rgba() functions"; description = "Colorize CSS rgb() and rgba() functions";
default = null; default = null;
@ -57,11 +64,35 @@
type = nullOr bool; type = nullOr bool;
}; };
tailwind = mkOption {
description = "Enable tailwind colors";
default = null;
type = nullOr bool;
};
sass = mkOption {
description = "Enable sass colors";
default = null;
type = nullOr bool;
};
virtualtext = mkOption {
description = "String to display as virtualtext";
type = nullOr str;
default = null;
};
mode = mkOption { mode = mkOption {
description = "Set the display mode"; description = "Set the display mode";
type = nullOr (enum ["foreground" "background"]); type = nullOr (enum ["foreground" "background"]);
default = null; default = null;
}; };
always_update = mkOption {
description = "Update color values even if buffer is not focused. Example use: cmp_menu, cmp_docs";
default = null;
type = nullOr bool;
};
}; };
}; };
in { in {
@ -73,20 +104,23 @@ in {
options.vim.ui.colorizer = { options.vim.ui.colorizer = {
enable = mkEnableOption "color highlighting [nvim-colorizer.lua]"; enable = mkEnableOption "color highlighting [nvim-colorizer.lua]";
defaultOptions = mkOption { setupOpts = mkPluginSetupOption "colorizer" {
description = '' filetypes = mkOption {
Default options that apply to all filetypes. Filetype specific settings from description = ''
[filetypeSettings](#opt-vim.ui.colorizer.filetypeSettings) take precedence. Filetypes to enable on and their option overrides.
'';
default = {};
type = settingSubmodule;
};
filetypeOptions = mkOption { The special filetype "*" means enable on all filetypes.
description = "Filetype specific settings"; '';
default = {}; default = {};
type = submodule { type = submodule {
freeformType = attrsOf settingSubmodule; freeformType = attrsOf settingSubmodule;
};
};
user_default_options = mkOption {
description = "Default options";
default = {};
type = settingSubmodule;
}; };
}; };
}; };

View file

@ -15,7 +15,7 @@ in {
]; ];
vim.luaConfigRC.colorizer = entryAnywhere '' vim.luaConfigRC.colorizer = entryAnywhere ''
require('colorizer').setup(${toLuaObject cfg.filetypeOptions}, ${toLuaObject cfg.defaultOptions}) require('colorizer').setup(${toLuaObject cfg.setupOpts})
''; '';
}; };
} }