mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-20 16:15:43 +02:00
plugins/tiny-devicons-auto-colors: init
This commit is contained in:
parent
d0040391e8
commit
e16d244865
2 changed files with 172 additions and 0 deletions
109
plugins/by-name/tiny-devicons-auto-colors/default.nix
Normal file
109
plugins/by-name/tiny-devicons-auto-colors/default.nix
Normal file
|
@ -0,0 +1,109 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (lib.nixvim) defaultNullOpts;
|
||||
in
|
||||
lib.nixvim.neovim-plugin.mkNeovimPlugin {
|
||||
name = "tiny-devicons-auto-colors";
|
||||
packPathName = "tiny-devicons-auto-colors.nvim";
|
||||
package = "tiny-devicons-auto-colors-nvim";
|
||||
|
||||
maintainers = [ lib.maintainers.khaneliman ];
|
||||
|
||||
settingsOptions = {
|
||||
colors =
|
||||
defaultNullOpts.mkNullableWithRaw (with lib.types; either (attrsOf anything) (listOf str)) [ ]
|
||||
''
|
||||
A table of color codes that the plugin will use to assign colors to devicons.
|
||||
If not provided, the plugin will fetch highlights from the current theme to generate a color palette.
|
||||
'';
|
||||
|
||||
factors = {
|
||||
lightness = defaultNullOpts.mkNum 1.75 ''
|
||||
Adjust the lightness factor.
|
||||
'';
|
||||
chroma = defaultNullOpts.mkNum 1 ''
|
||||
Adjust the chroma factor.
|
||||
'';
|
||||
hue = defaultNullOpts.mkNum 1.25 ''
|
||||
Adjust the hue factor.
|
||||
'';
|
||||
};
|
||||
|
||||
cache = {
|
||||
enabled = defaultNullOpts.mkBool true ''
|
||||
Enable or disable caching to improve performance.
|
||||
'';
|
||||
path = defaultNullOpts.mkStr (lib.nixvim.literalLua ''vim.fn.stdpath("cache") .. "/tiny-devicons-auto-colors-cache.json"'') ''
|
||||
Path to the cache file.
|
||||
'';
|
||||
};
|
||||
|
||||
precise_search = {
|
||||
enabled = defaultNullOpts.mkBool true ''
|
||||
Enable or disable precise search for better color matching.
|
||||
'';
|
||||
iteration = defaultNullOpts.mkNum 10 ''
|
||||
Number of iterations for precise search.
|
||||
'';
|
||||
precision = defaultNullOpts.mkNum 20 ''
|
||||
Precision level for the search.
|
||||
'';
|
||||
threshold = defaultNullOpts.mkNum 23 ''
|
||||
Threshold to consider a color as a match.
|
||||
'';
|
||||
};
|
||||
|
||||
ignore = defaultNullOpts.mkListOf lib.types.str [ ] ''
|
||||
A list of icon names to ignore.
|
||||
'';
|
||||
|
||||
autoreload = defaultNullOpts.mkBool false ''
|
||||
Automatically reload colors when the colorscheme changes.
|
||||
'';
|
||||
};
|
||||
|
||||
settingsExample = {
|
||||
colors = {
|
||||
red = "#ff0000";
|
||||
green = "#00ff00";
|
||||
};
|
||||
factors = {
|
||||
lightness = 1.5;
|
||||
chroma = 1.2;
|
||||
hue = 1.1;
|
||||
};
|
||||
cache = {
|
||||
enabled = true;
|
||||
path = "/path/to/cache.json";
|
||||
};
|
||||
precise_search = {
|
||||
enabled = true;
|
||||
iteration = 15;
|
||||
precision = 25;
|
||||
threshold = 20;
|
||||
};
|
||||
ignore = [
|
||||
"lua"
|
||||
"vim"
|
||||
];
|
||||
autoreload = true;
|
||||
};
|
||||
|
||||
extraConfig = {
|
||||
assertions = [
|
||||
{
|
||||
assertion =
|
||||
config.plugins.web-devicons.enable
|
||||
|| (
|
||||
config.plugins.mini.enable
|
||||
&& config.plugins.mini.modules ? icons
|
||||
&& config.plugins.mini.mockDevIcons
|
||||
);
|
||||
message = ''
|
||||
Nixvim: Either `plugins.web-devicons` or `plugins.mini`* must be enabled to use `tiny-devicons-auto-colors`.
|
||||
*If using `plugins.mini`, you must enable the `icons` module and the `mockDevIcons` option.
|
||||
'';
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
{
|
||||
empty = {
|
||||
plugins = {
|
||||
web-devicons.enable = true;
|
||||
tiny-devicons-auto-colors.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
defaults = {
|
||||
plugins = {
|
||||
web-devicons.enable = true;
|
||||
tiny-devicons-auto-colors = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
colors = null;
|
||||
factors = {
|
||||
lightness = 1.75;
|
||||
chroma = 1;
|
||||
hue = 1.25;
|
||||
};
|
||||
cache = {
|
||||
enabled = true;
|
||||
path.__raw = ''vim.fn.stdpath("cache") .. "/tiny-devicons-auto-colors-cache.json"'';
|
||||
};
|
||||
precise_search = {
|
||||
enabled = true;
|
||||
iteration = 10;
|
||||
precision = 20;
|
||||
threshold = 23;
|
||||
};
|
||||
ignore = [ ];
|
||||
autoreload = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
catppuccin = {
|
||||
colorschemes.catppuccin.enable = true;
|
||||
plugins = {
|
||||
web-devicons.enable = true;
|
||||
tiny-devicons-auto-colors = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
colors.__raw = ''require("catppuccin.palettes").get_palette("macchiato")'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
mini = {
|
||||
plugins = {
|
||||
mini = {
|
||||
enable = true;
|
||||
mockDevIcons = true;
|
||||
modules.icons = { };
|
||||
};
|
||||
tiny-devicons-auto-colors.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue