mirror of
https://github.com/nix-community/nixvim.git
synced 2025-07-31 08:05:23 +02:00
We used to only think of it as the plugin repo's name, but we have been needing to use it for the name of the plugin's packpath location.
80 lines
2.1 KiB
Nix
80 lines
2.1 KiB
Nix
{
|
|
lib,
|
|
helpers,
|
|
config,
|
|
...
|
|
}:
|
|
with lib;
|
|
helpers.neovim-plugin.mkNeovimPlugin {
|
|
name = "twilight";
|
|
packPathName = "twilight.nvim";
|
|
package = "twilight-nvim";
|
|
|
|
maintainers = [ maintainers.GaetanLepage ];
|
|
|
|
settingsOptions = {
|
|
dimming = {
|
|
alpha = helpers.defaultNullOpts.mkNullable (types.numbers.between 0.0 1.0) 0.25 ''
|
|
Amount of dimming.
|
|
'';
|
|
|
|
color =
|
|
helpers.defaultNullOpts.mkListOf types.str
|
|
[
|
|
"Normal"
|
|
"#ffffff"
|
|
]
|
|
''
|
|
Highlight groups / colors to use.
|
|
'';
|
|
|
|
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.
|
|
'';
|
|
|
|
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.
|
|
'';
|
|
|
|
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.";
|
|
|
|
exclude = helpers.defaultNullOpts.mkListOf types.str [ ] ''
|
|
Exclude these filetypes.
|
|
'';
|
|
};
|
|
|
|
settingsExample = {
|
|
dimming.alpha = 0.4;
|
|
context = 20;
|
|
treesitter = true;
|
|
expand = [
|
|
"function"
|
|
"method"
|
|
];
|
|
};
|
|
|
|
extraConfig = cfg: {
|
|
warnings =
|
|
optional
|
|
((isBool cfg.settings.treesitter) && cfg.settings.treesitter && (!config.plugins.treesitter.enable))
|
|
''
|
|
Nixvim (plugins.twilight): You have set `plugins.twilight.treesitter` to `true` but `plugins.treesitter.enable` is false.
|
|
'';
|
|
};
|
|
}
|