plugins/colorschemes: normalize plugin defaults

This commit is contained in:
Matt Sturgeon 2024-06-11 16:50:59 +01:00
parent d57cbd867a
commit 48f1e30bf7
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299
11 changed files with 123 additions and 121 deletions

View file

@ -28,7 +28,7 @@ helpers.neovim-plugin.mkNeovimPlugin config {
Set to `true` to use `mirage` variant instead of `dark` for dark background.
'';
overrides = helpers.defaultNullOpts.mkStrLuaOr (with helpers.nixvimTypes; attrsOf highlight) "{}" ''
overrides = helpers.defaultNullOpts.mkStrLuaOr (with helpers.nixvimTypes; attrsOf highlight) { } ''
A dictionary of group names, each associated with a dictionary of parameters
(`bg`, `fg`, `sp` and `style`) and colors in hex.

View file

@ -124,7 +124,9 @@ helpers.neovim-plugin.mkNeovimPlugin config {
];
in
{
compile_path = helpers.defaultNullOpts.mkStr ''{__raw = "vim.fn.stdpath 'cache' .. '/catppuccin'";}'' "Set the compile cache directory.";
compile_path = helpers.defaultNullOpts.mkStr {
__raw = "vim.fn.stdpath 'cache' .. '/catppuccin'";
} "Set the compile cache directory.";
flavour = helpers.mkNullOrOption (types.enum (flavours ++ [ "auto" ])) ''
Theme flavour.
@ -165,7 +167,7 @@ helpers.neovim-plugin.mkNeovimPlugin config {
Sets the shade to apply to the inactive split or window or buffer.
'';
percentage = helpers.defaultNullOpts.mkNullable (types.numbers.between 0.0 1.0) "0.15" ''
percentage = helpers.defaultNullOpts.mkNullable (types.numbers.between 0.0 1.0) 0.15 ''
percentage of the shade to apply to the inactive window, split or buffer.
'';
};
@ -183,58 +185,58 @@ helpers.neovim-plugin.mkNeovimPlugin config {
'';
styles = {
comments = helpers.defaultNullOpts.mkListOf types.str ''["italic"]'' ''
comments = helpers.defaultNullOpts.mkListOf types.str [ "italic" ] ''
Define comments highlight properties.
'';
conditionals = helpers.defaultNullOpts.mkListOf types.str ''["italic"]'' ''
conditionals = helpers.defaultNullOpts.mkListOf types.str [ "italic" ] ''
Define conditionals highlight properties.
'';
loops = helpers.defaultNullOpts.mkListOf types.str "[]" ''
loops = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define loops highlight properties.
'';
functions = helpers.defaultNullOpts.mkListOf types.str "[]" ''
functions = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define functions highlight properties.
'';
keywords = helpers.defaultNullOpts.mkListOf types.str "[]" ''
keywords = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define keywords highlight properties.
'';
strings = helpers.defaultNullOpts.mkListOf types.str "[]" ''
strings = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define strings highlight properties.
'';
variables = helpers.defaultNullOpts.mkListOf types.str "[]" ''
variables = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define variables highlight properties.
'';
numbers = helpers.defaultNullOpts.mkListOf types.str "[]" ''
numbers = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define numbers highlight properties.
'';
booleans = helpers.defaultNullOpts.mkListOf types.str "[]" ''
booleans = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define booleans highlight properties.
'';
properties = helpers.defaultNullOpts.mkListOf types.str "[]" ''
properties = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define properties highlight properties.
'';
types = helpers.defaultNullOpts.mkListOf types.str "[]" ''
types = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define types highlight properties.
'';
operators = helpers.defaultNullOpts.mkListOf types.str "[]" ''
operators = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define operators highlight properties.
'';
};
color_overrides = genAttrs (flavours ++ [ "all" ]) (
flavour:
helpers.defaultNullOpts.mkAttrsOf types.str "{}" (
helpers.defaultNullOpts.mkAttrsOf types.str { } (
if flavour == "all" then
"Override colors for all the flavours."
else

View file

@ -36,7 +36,7 @@ helpers.neovim-plugin.mkNeovimPlugin config {
'';
theme = {
highlights = helpers.defaultNullOpts.mkAttrsOf helpers.nixvimTypes.highlight "{}" ''
highlights = helpers.defaultNullOpts.mkAttrsOf helpers.nixvimTypes.highlight { } ''
Highlight groups to override, adding new groups is also possible.
See `:h highlight-groups` for a list of highlight groups.
@ -55,7 +55,7 @@ helpers.neovim-plugin.mkNeovimPlugin config {
Complete list can be found in `lua/cyberdream/theme.lua` in upstream repository.
'';
colors = helpers.defaultNullOpts.mkAttrsOf types.str "{}" ''
colors = helpers.defaultNullOpts.mkAttrsOf types.str { } ''
Override the default colors used.
For a full list of colors, see upstream documentation.

View file

@ -86,23 +86,23 @@ helpers.neovim-plugin.mkNeovimPlugin config {
Enable undercurls.
'';
commentStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{italic = true;}" ''
commentStyle = helpers.defaultNullOpts.mkAttrsOf types.anything { italic = true; } ''
Highlight options for comments.
'';
functionStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{}" ''
functionStyle = helpers.defaultNullOpts.mkAttrsOf types.anything { } ''
Highlight options for functions.
'';
keywordStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{italic = true;}" ''
keywordStyle = helpers.defaultNullOpts.mkAttrsOf types.anything { italic = true; } ''
Highlight options for keywords.
'';
statementStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{bold = true;}" ''
statementStyle = helpers.defaultNullOpts.mkAttrsOf types.anything { bold = true; } ''
Highlight options for statements.
'';
typeStyle = helpers.defaultNullOpts.mkAttrsOf types.anything "{}" ''
typeStyle = helpers.defaultNullOpts.mkAttrsOf types.anything { } ''
Highlight options for types.
'';
@ -121,14 +121,12 @@ helpers.neovim-plugin.mkNeovimPlugin config {
colors = {
theme =
helpers.defaultNullOpts.mkAttrsOf types.attrs
''
{
wave = { };
lotus = { };
dragon = { };
all = { };
}
''
''
Change specific usages for a certain theme, or for all of them
@ -156,7 +154,7 @@ helpers.neovim-plugin.mkNeovimPlugin config {
```
'';
palette = helpers.defaultNullOpts.mkAttrsOf types.str "{}" ''
palette = helpers.defaultNullOpts.mkAttrsOf types.str { } ''
Change all usages of these colors.
Example:

View file

@ -51,19 +51,19 @@ helpers.neovim-plugin.mkNeovimPlugin config {
'';
styles = {
comments = helpers.defaultNullOpts.mkHighlight "{italic = true;}" "" ''
comments = helpers.defaultNullOpts.mkHighlight { italic = true; } "" ''
Define comments highlight properties.
'';
keywords = helpers.defaultNullOpts.mkHighlight "{italic = true;}" "" ''
keywords = helpers.defaultNullOpts.mkHighlight { italic = true; } "" ''
Define keywords highlight properties.
'';
functions = helpers.defaultNullOpts.mkHighlight "{}" "" ''
functions = helpers.defaultNullOpts.mkHighlight { } "" ''
Define functions highlight properties.
'';
variables = helpers.defaultNullOpts.mkHighlight "{}" "" ''
variables = helpers.defaultNullOpts.mkHighlight { } "" ''
Define variables highlight properties.
'';
};

View file

@ -35,7 +35,9 @@ helpers.neovim-plugin.mkNeovimPlugin config {
settingsOptions = {
options = {
compile_path = helpers.defaultNullOpts.mkStr ''{__raw = "vim.fn.stdpath('cache') .. '/nightfox'";}'' ''
compile_path =
helpers.defaultNullOpts.mkStr { __raw = "vim.fn.stdpath('cache') .. '/nightfox'"; }
''
The output directory path where the compiled results will be written to.
'';
@ -65,26 +67,12 @@ helpers.neovim-plugin.mkNeovimPlugin config {
The default value of a module that has not been overridden in the modules table.
'';
styles =
helpers.defaultNullOpts.mkAttrsOf types.str
''
{
comments = "NONE";
conditionals = "NONE";
constants = "NONE";
functions = "NONE";
keywords = "NONE";
numbers = "NONE";
operators = "NONE";
preprocs = "NONE";
strings = "NONE";
types = "NONE";
variables = "NONE";
}
''
''
styles = helpers.defaultNullOpts.mkAttrsOf' {
type = types.str;
description = ''
A table that contains a list of syntax components and their corresponding style.
These styles can be any combination of `|highlight-args|`.
The list of syntax components are:
- comments
- conditionals
@ -97,25 +85,33 @@ helpers.neovim-plugin.mkNeovimPlugin config {
- strings
- types
- variables
Example:
```nix
{
'';
example = {
comments = "italic";
functions = "italic,bold";
}
```
'';
};
pluginDefault = {
comments = "NONE";
conditionals = "NONE";
constants = "NONE";
functions = "NONE";
keywords = "NONE";
numbers = "NONE";
operators = "NONE";
preprocs = "NONE";
strings = "NONE";
types = "NONE";
variables = "NONE";
};
};
inverse =
helpers.defaultNullOpts.mkAttrsOf types.bool
''
{
match_paren = false;
visual = false;
search = false;
}
''
''
A table that contains a list of highlight types.
If a highlight type is enabled it will inverse the foreground and background colors
@ -139,7 +135,7 @@ helpers.neovim-plugin.mkNeovimPlugin config {
mapAttrs
(
name: color:
helpers.defaultNullOpts.mkNullable (types.numbers.between 0.0 1.0) "0" ''
helpers.defaultNullOpts.mkNullable (types.numbers.between 0.0 1.0) 0 ''
Severity [0, 1] for ${name} (${color}).
''
)
@ -152,7 +148,6 @@ helpers.neovim-plugin.mkNeovimPlugin config {
modules =
helpers.defaultNullOpts.mkAttrsOf types.anything
''
{
coc = {
background = true;
@ -171,7 +166,6 @@ helpers.neovim-plugin.mkNeovimPlugin config {
background = true;
};
}
''
''
`modules` store configuration information for various plugins and other neovim modules.
A module can either be a boolean or a table that contains additional configuration for

View file

@ -61,7 +61,7 @@ helpers.neovim-plugin.mkNeovimPlugin config {
}
);
})
"{}"
{ }
''
Custom palettes for ${name} colors.
''
@ -110,7 +110,9 @@ helpers.neovim-plugin.mkNeovimPlugin config {
Whether to enable caching.
'';
cache_dir = helpers.defaultNullOpts.mkStr ''{__raw = "vim.fn.stdpath('cache') .. '/palette'";}'' "Cache directory.";
cache_dir = helpers.defaultNullOpts.mkStr {
__raw = "vim.fn.stdpath('cache') .. '/palette'";
} "Cache directory.";
};
settingsExample = { };

View file

@ -58,7 +58,7 @@ helpers.neovim-plugin.mkNeovimPlugin config {
default: see [source](https://github.com/olivercederborg/poimandres.nvim/blob/main/lua/poimandres/init.lua)
'';
highlight_groups = helpers.defaultNullOpts.mkAttrsOf types.str "{}" ''
highlight_groups = helpers.defaultNullOpts.mkAttrsOf types.str { } ''
Highlight groups.
'';
};

View file

@ -115,7 +115,7 @@ helpers.neovim-plugin.mkNeovimPlugin config {
default: see [source](https://github.com/rose-pine/neovim/blob/main/lua/rose-pine/config.lua)
'';
highlight_groups = helpers.defaultNullOpts.mkAttrsOf helpers.nixvimTypes.highlight "{}" ''
highlight_groups = helpers.defaultNullOpts.mkAttrsOf helpers.nixvimTypes.highlight { } ''
Custom highlight groups.
'';

View file

@ -87,19 +87,19 @@ helpers.neovim-plugin.mkNeovimPlugin config {
] "Background style for ${name}";
in
{
comments = helpers.defaultNullOpts.mkHighlight "{italic = true;}" "" ''
comments = helpers.defaultNullOpts.mkHighlight { italic = true; } "" ''
Define comments highlight properties.
'';
keywords = helpers.defaultNullOpts.mkHighlight "{italic = true;}" "" ''
keywords = helpers.defaultNullOpts.mkHighlight { italic = true; } "" ''
Define keywords highlight properties.
'';
functions = helpers.defaultNullOpts.mkHighlight "{}" "" ''
functions = helpers.defaultNullOpts.mkHighlight { } "" ''
Define functions highlight properties.
'';
variables = helpers.defaultNullOpts.mkHighlight "{}" "" ''
variables = helpers.defaultNullOpts.mkHighlight { } "" ''
Define variables highlight properties.
'';
@ -108,11 +108,17 @@ helpers.neovim-plugin.mkNeovimPlugin config {
floats = mkBackgroundStyle "floats";
};
sidebars = helpers.defaultNullOpts.mkListOf types.str ''["qf" "help"]'' ''
sidebars =
helpers.defaultNullOpts.mkListOf types.str
[
"qf"
"help"
]
''
Set a darker background on sidebar-like windows.
'';
day_brightness = helpers.defaultNullOpts.mkNullable (types.numbers.between 0.0 1.0) "0.3" ''
day_brightness = helpers.defaultNullOpts.mkNullable (types.numbers.between 0.0 1.0) 0.3 ''
Adjusts the brightness of the colors of the **Day** style.
Number between 0 and 1, from dull to vibrant colors.
'';

View file

@ -21,13 +21,13 @@ helpers.neovim-plugin.mkNeovimPlugin config {
italic_comments = helpers.defaultNullOpts.mkBool false "Whether to enable italic comments";
underline_links = helpers.defaultNullOpts.mkBool false "Whether to underline links";
disable_nvimtree_bg = helpers.defaultNullOpts.mkBool true "Whether to disable nvim-tree background";
color_overrides = helpers.defaultNullOpts.mkAttrsOf types.str "{}" ''
color_overrides = helpers.defaultNullOpts.mkAttrsOf types.str { } ''
A dictionary of color overrides.
See https://github.com/Mofiqul/vscode.nvim/blob/main/lua/vscode/colors.lua for color names.
'';
group_overrides =
with helpers;
defaultNullOpts.mkAttrsOf nixvimTypes.highlight "{}" ''
defaultNullOpts.mkAttrsOf nixvimTypes.highlight { } ''
A dictionary of group names, each associated with a dictionary of parameters
(`bg`, `fg`, `sp` and `style`) and colors in hex.
'';