mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2024-11-10 08:05:57 +01:00
59 lines
1.6 KiB
Nix
59 lines
1.6 KiB
Nix
|
{
|
||
|
config,
|
||
|
lib,
|
||
|
...
|
||
|
}:
|
||
|
with lib;
|
||
|
with builtins; let
|
||
|
cfg = config.vim.utility.ccc;
|
||
|
self = import ./ccc.nix {inherit lib;};
|
||
|
|
||
|
mappingDefinitions = self.options.vim.utility.ccc.mappings;
|
||
|
mappings = addDescriptionsToMappings cfg.mappings mappingDefinitions;
|
||
|
in {
|
||
|
config = mkIf (cfg.enable) {
|
||
|
vim.startPlugins = [
|
||
|
"ccc"
|
||
|
];
|
||
|
|
||
|
vim.maps.normal = mkMerge [
|
||
|
(mkSetLuaBinding mappings.quit "require('ccc').mapping.quit")
|
||
|
(mkSetLuaBinding mappings.increase10 "require('ccc').mapping.increase10")
|
||
|
(mkSetLuaBinding mappings.decrease10 "require('ccc').mapping.decrease10")
|
||
|
];
|
||
|
|
||
|
vim.luaConfigRC.ccc = nvim.dag.entryAnywhere ''
|
||
|
local ccc = require("ccc")
|
||
|
ccc.setup {
|
||
|
highlighter = {
|
||
|
auto_enable = true,
|
||
|
max_byte = 2 * 1024 * 1024, -- 2mb
|
||
|
lsp = true,
|
||
|
filetypes = colorPickerFts,
|
||
|
},
|
||
|
pickers = {
|
||
|
ccc.picker.hex,
|
||
|
ccc.picker.css_rgb,
|
||
|
ccc.picker.css_hsl,
|
||
|
ccc.picker.ansi_escape {
|
||
|
meaning1 = "bright", -- whether the 1 means bright or yellow
|
||
|
},
|
||
|
},
|
||
|
alpha_show = "hide", -- needed when highlighter.lsp is set to true
|
||
|
recognize = { output = true }, -- automatically recognize color format under cursor
|
||
|
inputs = { ccc.input.hsl },
|
||
|
outputs = {
|
||
|
ccc.output.css_hsl,
|
||
|
ccc.output.css_rgb,
|
||
|
ccc.output.hex,
|
||
|
},
|
||
|
convert = {
|
||
|
{ ccc.picker.hex, ccc.output.css_hsl },
|
||
|
{ ccc.picker.css_rgb, ccc.output.css_hsl },
|
||
|
{ ccc.picker.css_hsl, ccc.output.hex },
|
||
|
},
|
||
|
}
|
||
|
'';
|
||
|
};
|
||
|
}
|