2023-06-04 06:41:10 +00:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
...
|
2023-11-07 00:50:27 +00:00
|
|
|
}: let
|
2024-03-24 00:14:39 +00:00
|
|
|
inherit (lib.modules) mkIf;
|
|
|
|
inherit (lib.nvim.dag) entryAnywhere;
|
2023-11-07 00:50:27 +00:00
|
|
|
|
2023-06-04 06:41:10 +00:00
|
|
|
cfg = config.vim.utility.ccc;
|
|
|
|
in {
|
2024-07-08 21:57:58 +00:00
|
|
|
config = mkIf cfg.enable {
|
2023-06-04 06:41:10 +00:00
|
|
|
vim.startPlugins = [
|
|
|
|
"ccc"
|
|
|
|
];
|
|
|
|
|
2024-03-24 00:14:39 +00:00
|
|
|
vim.luaConfigRC.ccc = entryAnywhere ''
|
2023-06-04 06:41:10 +00:00
|
|
|
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 },
|
|
|
|
},
|
2023-06-04 11:12:08 +00:00
|
|
|
mappings = {
|
|
|
|
["q"] = ccc.mapping.quit,
|
|
|
|
["L"] = ccc.mapping.increase10,
|
|
|
|
["H"] = ccc.mapping.decrease10,
|
|
|
|
},
|
2023-06-04 06:41:10 +00:00
|
|
|
}
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
}
|