mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-22 08:53:28 +02:00
82 lines
2.2 KiB
Nix
82 lines
2.2 KiB
Nix
|
{
|
||
|
lib,
|
||
|
helpers,
|
||
|
config,
|
||
|
pkgs,
|
||
|
...
|
||
|
}:
|
||
|
with lib;
|
||
|
helpers.neovim-plugin.mkNeovimPlugin config {
|
||
|
name = "twilight";
|
||
|
originalName = "twilight.nvim";
|
||
|
defaultPackage = pkgs.vimPlugins.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.
|
||
|
'';
|
||
|
};
|
||
|
}
|