mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-28 03:20:08 +02:00
misc: refactor imports, prefer adding helpers
to args rather than importing it
This commit is contained in:
parent
541b694873
commit
b6724702b4
160 changed files with 697 additions and 736 deletions
|
@ -1,90 +1,89 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
helpers,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
helpers = import ../helpers.nix {inherit lib;};
|
||||
in
|
||||
with lib; {
|
||||
options.plugins.nvim-lightbulb = {
|
||||
enable = mkEnableOption "nvim-lightbulb, showing available code actions";
|
||||
}:
|
||||
with lib; {
|
||||
options.plugins.nvim-lightbulb = {
|
||||
enable = mkEnableOption "nvim-lightbulb, showing available code actions";
|
||||
|
||||
package = helpers.mkPackageOption "nvim-lightbulb" pkgs.vimPlugins.nvim-lightbulb;
|
||||
package = helpers.mkPackageOption "nvim-lightbulb" pkgs.vimPlugins.nvim-lightbulb;
|
||||
|
||||
ignore = helpers.defaultNullOpts.mkNullable (types.listOf types.str) "[]" ''
|
||||
LSP client names to ignore
|
||||
'';
|
||||
ignore = helpers.defaultNullOpts.mkNullable (types.listOf types.str) "[]" ''
|
||||
LSP client names to ignore
|
||||
'';
|
||||
|
||||
sign = {
|
||||
enabled = helpers.defaultNullOpts.mkBool true "";
|
||||
priority = helpers.defaultNullOpts.mkInt 10 "";
|
||||
};
|
||||
|
||||
float = {
|
||||
enabled = helpers.defaultNullOpts.mkBool false "";
|
||||
|
||||
text = helpers.defaultNullOpts.mkStr "💡" "Text to show in the popup float";
|
||||
|
||||
winOpts = helpers.defaultNullOpts.mkNullable (types.attrsOf types.anything) "{}" ''
|
||||
Options for the floating window (see |vim.lsp.util.open_floating_preview| for more information)
|
||||
'';
|
||||
};
|
||||
|
||||
virtualText = {
|
||||
enabled = helpers.defaultNullOpts.mkBool false "";
|
||||
|
||||
text = helpers.defaultNullOpts.mkStr "💡" "Text to show at virtual text";
|
||||
|
||||
hlMode = helpers.defaultNullOpts.mkStr "replace" ''
|
||||
highlight mode to use for virtual text (replace, combine, blend), see
|
||||
:help nvim_buf_set_extmark() for reference
|
||||
'';
|
||||
};
|
||||
|
||||
statusText = {
|
||||
enabled = helpers.defaultNullOpts.mkBool false "";
|
||||
|
||||
text = helpers.defaultNullOpts.mkStr "💡" "Text to provide when code actions are available";
|
||||
|
||||
textUnavailable = helpers.defaultNullOpts.mkStr "" ''
|
||||
Text to provide when no actions are available
|
||||
'';
|
||||
};
|
||||
|
||||
autocmd = {
|
||||
enabled = helpers.defaultNullOpts.mkBool false "";
|
||||
|
||||
pattern = helpers.defaultNullOpts.mkNullable (types.listOf types.str) ''["*"]'' "";
|
||||
|
||||
events =
|
||||
helpers.defaultNullOpts.mkNullable (types.listOf types.str)
|
||||
''["CursorHold" "CursorHoldI"]'' "";
|
||||
};
|
||||
sign = {
|
||||
enabled = helpers.defaultNullOpts.mkBool true "";
|
||||
priority = helpers.defaultNullOpts.mkInt 10 "";
|
||||
};
|
||||
|
||||
config = let
|
||||
cfg = config.plugins.nvim-lightbulb;
|
||||
setupOptions = {
|
||||
inherit (cfg) ignore sign autocmd;
|
||||
float = {
|
||||
inherit (cfg.float) enabled text;
|
||||
win_opts = cfg.float.winOpts;
|
||||
};
|
||||
virtual_text = {
|
||||
inherit (cfg.virtualText) enabled text;
|
||||
hl_mode = cfg.virtualText.hlMode;
|
||||
};
|
||||
status_text = {
|
||||
inherit (cfg.statusText) enabled text;
|
||||
text_unavailable = cfg.statusText.textUnavailable;
|
||||
};
|
||||
float = {
|
||||
enabled = helpers.defaultNullOpts.mkBool false "";
|
||||
|
||||
text = helpers.defaultNullOpts.mkStr "💡" "Text to show in the popup float";
|
||||
|
||||
winOpts = helpers.defaultNullOpts.mkNullable (types.attrsOf types.anything) "{}" ''
|
||||
Options for the floating window (see |vim.lsp.util.open_floating_preview| for more information)
|
||||
'';
|
||||
};
|
||||
|
||||
virtualText = {
|
||||
enabled = helpers.defaultNullOpts.mkBool false "";
|
||||
|
||||
text = helpers.defaultNullOpts.mkStr "💡" "Text to show at virtual text";
|
||||
|
||||
hlMode = helpers.defaultNullOpts.mkStr "replace" ''
|
||||
highlight mode to use for virtual text (replace, combine, blend), see
|
||||
:help nvim_buf_set_extmark() for reference
|
||||
'';
|
||||
};
|
||||
|
||||
statusText = {
|
||||
enabled = helpers.defaultNullOpts.mkBool false "";
|
||||
|
||||
text = helpers.defaultNullOpts.mkStr "💡" "Text to provide when code actions are available";
|
||||
|
||||
textUnavailable = helpers.defaultNullOpts.mkStr "" ''
|
||||
Text to provide when no actions are available
|
||||
'';
|
||||
};
|
||||
|
||||
autocmd = {
|
||||
enabled = helpers.defaultNullOpts.mkBool false "";
|
||||
|
||||
pattern = helpers.defaultNullOpts.mkNullable (types.listOf types.str) ''["*"]'' "";
|
||||
|
||||
events =
|
||||
helpers.defaultNullOpts.mkNullable (types.listOf types.str)
|
||||
''["CursorHold" "CursorHoldI"]'' "";
|
||||
};
|
||||
};
|
||||
|
||||
config = let
|
||||
cfg = config.plugins.nvim-lightbulb;
|
||||
setupOptions = {
|
||||
inherit (cfg) ignore sign autocmd;
|
||||
float = {
|
||||
inherit (cfg.float) enabled text;
|
||||
win_opts = cfg.float.winOpts;
|
||||
};
|
||||
in
|
||||
mkIf cfg.enable {
|
||||
extraPlugins = [cfg.package];
|
||||
extraConfigLua = ''
|
||||
require("nvim-lightbulb").setup(${helpers.toLuaObject setupOptions})
|
||||
'';
|
||||
virtual_text = {
|
||||
inherit (cfg.virtualText) enabled text;
|
||||
hl_mode = cfg.virtualText.hlMode;
|
||||
};
|
||||
}
|
||||
status_text = {
|
||||
inherit (cfg.statusText) enabled text;
|
||||
text_unavailable = cfg.statusText.textUnavailable;
|
||||
};
|
||||
};
|
||||
in
|
||||
mkIf cfg.enable {
|
||||
extraPlugins = [cfg.package];
|
||||
extraConfigLua = ''
|
||||
require("nvim-lightbulb").setup(${helpers.toLuaObject setupOptions})
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue