nix-community.nixvim/plugins/by-name/twilight/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

82 lines
2.1 KiB
Nix
Raw Normal View History

2024-03-16 01:23:02 +01:00
{
lib,
helpers,
config,
...
}:
with lib;
2024-12-22 09:58:27 +00:00
lib.nixvim.plugins.mkNeovimPlugin {
2024-03-16 01:23:02 +01:00
name = "twilight";
packPathName = "twilight.nvim";
package = "twilight-nvim";
2024-03-16 01:23:02 +01:00
maintainers = [ maintainers.GaetanLepage ];
settingsOptions = {
dimming = {
alpha = helpers.defaultNullOpts.mkProportion 0.25 ''
2024-03-16 01:23:02 +01:00
Amount of dimming.
'';
2024-06-11 16:54:41 +01:00
color =
helpers.defaultNullOpts.mkListOf types.str
[
"Normal"
"#ffffff"
]
''
Highlight groups / colors to use.
'';
2024-03-16 01:23:02 +01:00
term_bg = helpers.defaultNullOpts.mkStr "#000000" ''
If `guibg=NONE`, this will be used to calculate text color.
'';
inactive = helpers.defaultNullOpts.mkBool false ''
When true, other windows will be fully dimmed (unless they contain the same buffer).
'';
};
context = helpers.defaultNullOpts.mkUnsignedInt 10 ''
Amount of lines we will try to show around the current line.
'';
2024-05-05 19:39:35 +02:00
2024-03-16 01:23:02 +01:00
treesitter = helpers.defaultNullOpts.mkBool true ''
Use `treesitter` when available for the filetype.
`treesitter` is used to automatically expand the visible text, but you can further control
the types of nodes that should always be fully expanded.
'';
2024-06-11 16:54:41 +01:00
expand = helpers.defaultNullOpts.mkListOf types.str [
"function"
"method"
"table"
"if_statement"
] "For treesitter, we will always try to expand to the top-most ancestor with these types.";
2024-05-05 19:39:35 +02:00
2024-06-11 16:54:41 +01:00
exclude = helpers.defaultNullOpts.mkListOf types.str [ ] ''
2024-03-16 01:23:02 +01:00
Exclude these filetypes.
2024-05-05 19:39:35 +02:00
'';
};
2024-03-16 01:23:02 +01:00
settingsExample = {
dimming.alpha = 0.4;
context = 20;
treesitter = true;
2024-05-05 19:39:35 +02:00
expand = [
2024-03-16 01:23:02 +01:00
"function"
2024-05-05 19:39:35 +02:00
"method"
];
};
2024-03-16 01:23:02 +01:00
extraConfig = cfg: {
warnings = lib.nixvim.mkWarnings "plugins.twilight" {
when =
(isBool cfg.settings.treesitter) && cfg.settings.treesitter && (!config.plugins.treesitter.enable);
message = ''
You have set `plugins.twilight.treesitter` to `true` but `plugins.treesitter.enable` is false.
'';
};
2024-03-16 01:23:02 +01:00
};
}