mirror of
https://github.com/nix-community/nixvim.git
synced 2025-07-01 04:44:31 +02:00
plugins/utils: move to by-name
This commit is contained in:
parent
faff32b9f1
commit
52f125679f
195 changed files with 2 additions and 102 deletions
254
plugins/by-name/ccc/default.nix
Normal file
254
plugins/by-name/ccc/default.nix
Normal file
|
@ -0,0 +1,254 @@
|
|||
{
|
||||
lib,
|
||||
helpers,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
helpers.neovim-plugin.mkNeovimPlugin {
|
||||
name = "ccc";
|
||||
originalName = "ccc.nvim";
|
||||
package = "ccc-nvim";
|
||||
|
||||
maintainers = [ helpers.maintainers.JanKremer ];
|
||||
|
||||
settingsOptions =
|
||||
let
|
||||
listOfRawLua = with helpers.nixvimTypes; listOf strLua;
|
||||
mapToRawLua = map helpers.mkRaw;
|
||||
in
|
||||
{
|
||||
default_color = helpers.defaultNullOpts.mkStr "#000000" ''
|
||||
The default color used when a color cannot be picked. It must be HEX format.
|
||||
'';
|
||||
|
||||
inputs = mkOption {
|
||||
type = listOfRawLua;
|
||||
apply = mapToRawLua;
|
||||
default = [ ];
|
||||
example = [
|
||||
"ccc.input.rgb"
|
||||
"ccc.input.hsl"
|
||||
"ccc.input.hwb"
|
||||
"ccc.input.lab"
|
||||
"ccc.input.lch"
|
||||
"ccc.input.oklab"
|
||||
"ccc.input.oklch"
|
||||
"ccc.input.cmyk"
|
||||
"ccc.input.hsluv"
|
||||
"ccc.input.okhsl"
|
||||
"ccc.input.hsv"
|
||||
"ccc.input.okhsv"
|
||||
"ccc.input.xyz"
|
||||
];
|
||||
description = ''
|
||||
List of color system to be activated.
|
||||
`ccc-action-toggle_input_mode` toggles in this order.
|
||||
The first one is the default used at the first startup.
|
||||
Once activated, it will keep the previous input mode.
|
||||
|
||||
Plugin default:
|
||||
```nix
|
||||
[
|
||||
"ccc.input.rgb"
|
||||
"ccc.input.hsl"
|
||||
"ccc.input.cmyk"
|
||||
]
|
||||
```
|
||||
'';
|
||||
};
|
||||
|
||||
outputs = mkOption {
|
||||
type = listOfRawLua;
|
||||
apply = mapToRawLua;
|
||||
default = [ ];
|
||||
example = [
|
||||
"ccc.output.hex"
|
||||
"ccc.output.hex_short"
|
||||
"ccc.output.css_rgb"
|
||||
"ccc.output.css_hsl"
|
||||
"ccc.output.css_hwb"
|
||||
"ccc.output.css_lab"
|
||||
"ccc.output.css_lch"
|
||||
"ccc.output.css_oklab"
|
||||
"ccc.output.css_oklch"
|
||||
"ccc.output.float"
|
||||
"ccc.output.hex.setup({ uppercase = true })"
|
||||
"ccc.output.hex_short.setup({ uppercase = true })"
|
||||
];
|
||||
description = ''
|
||||
List of output format to be activated.
|
||||
`ccc-action-toggle_ouotput_mode` toggles in this order.
|
||||
The first one is the default used at the first startup.
|
||||
Once activated, it will keep the previous output mode.
|
||||
|
||||
Plugin default:
|
||||
```nix
|
||||
[
|
||||
"ccc.output.hex"
|
||||
"ccc.output.hex_short"
|
||||
"ccc.output.css_rgb"
|
||||
"ccc.output.css_hsl"
|
||||
]
|
||||
```
|
||||
'';
|
||||
};
|
||||
|
||||
pickers = mkOption {
|
||||
type = listOfRawLua;
|
||||
apply = mapToRawLua;
|
||||
default = [ ];
|
||||
example = [
|
||||
"ccc.picker.hex"
|
||||
"ccc.picker.css_rgb"
|
||||
"ccc.picker.css_hsl"
|
||||
"ccc.picker.css_hwb"
|
||||
"ccc.picker.css_lab"
|
||||
"ccc.picker.css_lch"
|
||||
"ccc.picker.css_oklab"
|
||||
"ccc.picker.css_oklch"
|
||||
"ccc.picker.css_name"
|
||||
];
|
||||
description = ''
|
||||
List of formats that can be detected by `:CccPick` to be activated.
|
||||
|
||||
Plugin default:
|
||||
```nix
|
||||
[
|
||||
"ccc.picker.hex"
|
||||
"ccc.picker.css_rgb"
|
||||
"ccc.picker.css_hsl"
|
||||
"ccc.picker.css_hwb"
|
||||
"ccc.picker.css_lab"
|
||||
"ccc.picker.css_lch"
|
||||
"ccc.picker.css_oklab"
|
||||
"ccc.picker.css_oklch"
|
||||
]
|
||||
```
|
||||
'';
|
||||
};
|
||||
|
||||
highlight_mode =
|
||||
helpers.defaultNullOpts.mkEnumFirstDefault
|
||||
[
|
||||
"bg"
|
||||
"fg"
|
||||
"background"
|
||||
"foreground"
|
||||
]
|
||||
''
|
||||
Option to highlight text foreground or background.
|
||||
It is used to `output_line` and `highlighter`.
|
||||
'';
|
||||
|
||||
lsp = helpers.defaultNullOpts.mkBool true ''
|
||||
Whether to enable LSP support.
|
||||
The color information is updated in the background and the result is used by `:CccPick` and
|
||||
highlighter.
|
||||
'';
|
||||
|
||||
highlighter = {
|
||||
auto_enable = helpers.defaultNullOpts.mkBool false ''
|
||||
Whether to enable automatically on `BufEnter`.
|
||||
'';
|
||||
|
||||
filetypes = helpers.defaultNullOpts.mkListOf types.str [ ] ''
|
||||
File types for which highlighting is enabled.
|
||||
It is only used for automatic highlighting by `ccc-option-highlighter-auto-enable`, and is
|
||||
ignored for manual activation.
|
||||
An empty table means all file types.
|
||||
'';
|
||||
|
||||
excludes = helpers.defaultNullOpts.mkListOf types.str [ ] ''
|
||||
Used only when `ccc-option-highlighter-filetypes` is empty table.
|
||||
You can specify file types to be excludes.
|
||||
'';
|
||||
|
||||
lsp = helpers.defaultNullOpts.mkBool true ''
|
||||
If true, highlight using LSP.
|
||||
If language server with the color provider is not attached to a buffer, it falls back to
|
||||
highlight with pickers.
|
||||
See also `:help ccc-option-lsp`.
|
||||
'';
|
||||
|
||||
update_insert = helpers.defaultNullOpts.mkBool true ''
|
||||
If true, highlights will be updated during insert mode.
|
||||
If false, highlights will not be updated during editing in insert mode, but will be
|
||||
updated on `InsertLeave`.
|
||||
'';
|
||||
};
|
||||
|
||||
convert = mkOption {
|
||||
type =
|
||||
with helpers.nixvimTypes;
|
||||
nullOr (
|
||||
maybeRaw (
|
||||
listOf
|
||||
# Pairs of lua strings
|
||||
(listOf strLua)
|
||||
)
|
||||
);
|
||||
apply = map mapToRawLua;
|
||||
default = [ ];
|
||||
example = [
|
||||
[
|
||||
"ccc.picker.hex"
|
||||
"ccc.output.css_oklch"
|
||||
]
|
||||
[
|
||||
"ccc.picker.css_oklch"
|
||||
"ccc.output.hex"
|
||||
]
|
||||
];
|
||||
description = ''
|
||||
Specify the correspondence between picker and output.
|
||||
The default setting converts the color to `css_rgb` if it is in hex format, to `css_hsl`
|
||||
if it is in `css_rgb` format, and to hex if it is in `css_hsl` format.
|
||||
|
||||
Plugin default:
|
||||
```nix
|
||||
[
|
||||
["ccc.picker.hex" "ccc.output.css_rgb"]
|
||||
["ccc.picker.css_rgb" "ccc.output.css_hsl"]
|
||||
["ccc.picker.css_hsl" "ccc.output.hex"]
|
||||
]
|
||||
```
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
settingsExample = {
|
||||
default_color = "#FFFFFF";
|
||||
inputs = [
|
||||
"ccc.input.oklab"
|
||||
"ccc.input.oklch"
|
||||
];
|
||||
outputs = [
|
||||
"ccc.output.css_oklab"
|
||||
"ccc.output.css_oklch"
|
||||
];
|
||||
pickers = [
|
||||
"ccc.picker.css_oklch"
|
||||
"ccc.picker.css_name"
|
||||
"ccc.picker.hex"
|
||||
];
|
||||
highlight_mode = "fg";
|
||||
lsp = false;
|
||||
highlighter = {
|
||||
auto_enable = true;
|
||||
lsp = false;
|
||||
excludes = [ "markdown" ];
|
||||
update_insert = false;
|
||||
};
|
||||
};
|
||||
|
||||
callSetup = false;
|
||||
extraConfig = cfg: {
|
||||
# ccc requires `termguicolors` to be enabled.
|
||||
opts.termguicolors = lib.mkDefault true;
|
||||
|
||||
extraConfigLua = ''
|
||||
ccc = require('ccc')
|
||||
ccc.setup(${helpers.toLuaObject cfg.settings})
|
||||
'';
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue