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. 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 A dictionary of group names, each associated with a dictionary of parameters
(`bg`, `fg`, `sp` and `style`) and colors in hex. (`bg`, `fg`, `sp` and `style`) and colors in hex.

View file

@ -124,7 +124,9 @@ helpers.neovim-plugin.mkNeovimPlugin config {
]; ];
in 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" ])) '' flavour = helpers.mkNullOrOption (types.enum (flavours ++ [ "auto" ])) ''
Theme flavour. Theme flavour.
@ -165,7 +167,7 @@ helpers.neovim-plugin.mkNeovimPlugin config {
Sets the shade to apply to the inactive split or window or buffer. 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. percentage of the shade to apply to the inactive window, split or buffer.
''; '';
}; };
@ -183,58 +185,58 @@ helpers.neovim-plugin.mkNeovimPlugin config {
''; '';
styles = { styles = {
comments = helpers.defaultNullOpts.mkListOf types.str ''["italic"]'' '' comments = helpers.defaultNullOpts.mkListOf types.str [ "italic" ] ''
Define comments highlight properties. Define comments highlight properties.
''; '';
conditionals = helpers.defaultNullOpts.mkListOf types.str ''["italic"]'' '' conditionals = helpers.defaultNullOpts.mkListOf types.str [ "italic" ] ''
Define conditionals highlight properties. Define conditionals highlight properties.
''; '';
loops = helpers.defaultNullOpts.mkListOf types.str "[]" '' loops = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define loops highlight properties. Define loops highlight properties.
''; '';
functions = helpers.defaultNullOpts.mkListOf types.str "[]" '' functions = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define functions highlight properties. Define functions highlight properties.
''; '';
keywords = helpers.defaultNullOpts.mkListOf types.str "[]" '' keywords = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define keywords highlight properties. Define keywords highlight properties.
''; '';
strings = helpers.defaultNullOpts.mkListOf types.str "[]" '' strings = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define strings highlight properties. Define strings highlight properties.
''; '';
variables = helpers.defaultNullOpts.mkListOf types.str "[]" '' variables = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define variables highlight properties. Define variables highlight properties.
''; '';
numbers = helpers.defaultNullOpts.mkListOf types.str "[]" '' numbers = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define numbers highlight properties. Define numbers highlight properties.
''; '';
booleans = helpers.defaultNullOpts.mkListOf types.str "[]" '' booleans = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define booleans highlight properties. Define booleans highlight properties.
''; '';
properties = helpers.defaultNullOpts.mkListOf types.str "[]" '' properties = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define properties highlight properties. Define properties highlight properties.
''; '';
types = helpers.defaultNullOpts.mkListOf types.str "[]" '' types = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define types highlight properties. Define types highlight properties.
''; '';
operators = helpers.defaultNullOpts.mkListOf types.str "[]" '' operators = helpers.defaultNullOpts.mkListOf types.str [ ] ''
Define operators highlight properties. Define operators highlight properties.
''; '';
}; };
color_overrides = genAttrs (flavours ++ [ "all" ]) ( color_overrides = genAttrs (flavours ++ [ "all" ]) (
flavour: flavour:
helpers.defaultNullOpts.mkAttrsOf types.str "{}" ( helpers.defaultNullOpts.mkAttrsOf types.str { } (
if flavour == "all" then if flavour == "all" then
"Override colors for all the flavours." "Override colors for all the flavours."
else else

View file

@ -36,7 +36,7 @@ helpers.neovim-plugin.mkNeovimPlugin config {
''; '';
theme = { 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. Highlight groups to override, adding new groups is also possible.
See `:h highlight-groups` for a list of highlight groups. 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. 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. Override the default colors used.
For a full list of colors, see upstream documentation. For a full list of colors, see upstream documentation.

View file

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

View file

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

View file

@ -35,7 +35,9 @@ helpers.neovim-plugin.mkNeovimPlugin config {
settingsOptions = { settingsOptions = {
options = { 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. 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. The default value of a module that has not been overridden in the modules table.
''; '';
styles = styles = helpers.defaultNullOpts.mkAttrsOf' {
helpers.defaultNullOpts.mkAttrsOf types.str type = types.str;
'' description = ''
{
comments = "NONE";
conditionals = "NONE";
constants = "NONE";
functions = "NONE";
keywords = "NONE";
numbers = "NONE";
operators = "NONE";
preprocs = "NONE";
strings = "NONE";
types = "NONE";
variables = "NONE";
}
''
''
A table that contains a list of syntax components and their corresponding style. A table that contains a list of syntax components and their corresponding style.
These styles can be any combination of `|highlight-args|`. These styles can be any combination of `|highlight-args|`.
The list of syntax components are: The list of syntax components are:
- comments - comments
- conditionals - conditionals
@ -97,25 +85,33 @@ helpers.neovim-plugin.mkNeovimPlugin config {
- strings - strings
- types - types
- variables - variables
'';
Example: example = {
```nix
{
comments = "italic"; comments = "italic";
functions = "italic,bold"; 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 = inverse =
helpers.defaultNullOpts.mkAttrsOf types.bool helpers.defaultNullOpts.mkAttrsOf types.bool
''
{ {
match_paren = false; match_paren = false;
visual = false; visual = false;
search = false; search = false;
} }
''
'' ''
A table that contains a list of highlight types. A table that contains a list of highlight types.
If a highlight type is enabled it will inverse the foreground and background colors If a highlight type is enabled it will inverse the foreground and background colors
@ -139,7 +135,7 @@ helpers.neovim-plugin.mkNeovimPlugin config {
mapAttrs mapAttrs
( (
name: color: 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}). Severity [0, 1] for ${name} (${color}).
'' ''
) )
@ -152,7 +148,6 @@ helpers.neovim-plugin.mkNeovimPlugin config {
modules = modules =
helpers.defaultNullOpts.mkAttrsOf types.anything helpers.defaultNullOpts.mkAttrsOf types.anything
''
{ {
coc = { coc = {
background = true; background = true;
@ -171,7 +166,6 @@ helpers.neovim-plugin.mkNeovimPlugin config {
background = true; background = true;
}; };
} }
''
'' ''
`modules` store configuration information for various plugins and other neovim modules. `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 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. Custom palettes for ${name} colors.
'' ''
@ -110,7 +110,9 @@ helpers.neovim-plugin.mkNeovimPlugin config {
Whether to enable caching. 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 = { }; 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) 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. 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) 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. Custom highlight groups.
''; '';

View file

@ -87,19 +87,19 @@ helpers.neovim-plugin.mkNeovimPlugin config {
] "Background style for ${name}"; ] "Background style for ${name}";
in in
{ {
comments = helpers.defaultNullOpts.mkHighlight "{italic = true;}" "" '' comments = helpers.defaultNullOpts.mkHighlight { italic = true; } "" ''
Define comments highlight properties. Define comments highlight properties.
''; '';
keywords = helpers.defaultNullOpts.mkHighlight "{italic = true;}" "" '' keywords = helpers.defaultNullOpts.mkHighlight { italic = true; } "" ''
Define keywords highlight properties. Define keywords highlight properties.
''; '';
functions = helpers.defaultNullOpts.mkHighlight "{}" "" '' functions = helpers.defaultNullOpts.mkHighlight { } "" ''
Define functions highlight properties. Define functions highlight properties.
''; '';
variables = helpers.defaultNullOpts.mkHighlight "{}" "" '' variables = helpers.defaultNullOpts.mkHighlight { } "" ''
Define variables highlight properties. Define variables highlight properties.
''; '';
@ -108,11 +108,17 @@ helpers.neovim-plugin.mkNeovimPlugin config {
floats = mkBackgroundStyle "floats"; 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. 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. Adjusts the brightness of the colors of the **Day** style.
Number between 0 and 1, from dull to vibrant colors. 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"; italic_comments = helpers.defaultNullOpts.mkBool false "Whether to enable italic comments";
underline_links = helpers.defaultNullOpts.mkBool false "Whether to underline links"; underline_links = helpers.defaultNullOpts.mkBool false "Whether to underline links";
disable_nvimtree_bg = helpers.defaultNullOpts.mkBool true "Whether to disable nvim-tree background"; 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. A dictionary of color overrides.
See https://github.com/Mofiqul/vscode.nvim/blob/main/lua/vscode/colors.lua for color names. See https://github.com/Mofiqul/vscode.nvim/blob/main/lua/vscode/colors.lua for color names.
''; '';
group_overrides = group_overrides =
with helpers; with helpers;
defaultNullOpts.mkAttrsOf nixvimTypes.highlight "{}" '' defaultNullOpts.mkAttrsOf nixvimTypes.highlight { } ''
A dictionary of group names, each associated with a dictionary of parameters A dictionary of group names, each associated with a dictionary of parameters
(`bg`, `fg`, `sp` and `style`) and colors in hex. (`bg`, `fg`, `sp` and `style`) and colors in hex.
''; '';