lazy: re-order options for consistency

This commit is contained in:
Ching Pei Yang 2024-11-11 00:45:36 +01:00
parent 11bb327ab5
commit ca6e46e3d9
No known key found for this signature in database
GPG key ID: B3841364253DC4C8

View file

@ -22,20 +22,20 @@
''; '';
desc = mkOption { desc = mkOption {
description = "Description of the key map";
type = nullOr str; type = nullOr str;
default = null; default = null;
description = "Description of the key map";
}; };
ft = mkOption { ft = mkOption {
description = "TBD";
type = nullOr (listOf str); type = nullOr (listOf str);
default = null; default = null;
description = "TBD";
}; };
mode = mkOption { mode = mkOption {
description = "Modes to bind in";
type = either str (listOf str); type = either str (listOf str);
description = "Modes to bind in";
}; };
silent = mkBool true "Whether this mapping should be silent. Equivalent to adding <silent> to a map."; silent = mkBool true "Whether this mapping should be silent. Equivalent to adding <silent> to a map.";
@ -47,6 +47,21 @@
}; };
}; };
lznEvent = submodule {
options = {
event = mkOption {
type = nullOr (either str (listOf str));
example = "BufEnter";
description = "Exact event name";
};
pattern = mkOption {
type = nullOr (either str (listOf str));
example = "BufEnter *.lua";
description = "Event pattern";
};
};
};
lznPluginType = submodule { lznPluginType = submodule {
options = { options = {
package = mkOption { package = mkOption {
@ -56,84 +71,67 @@
setupModule = mkOption { setupModule = mkOption {
type = nullOr str; type = nullOr str;
description = "Lua module to run setup function on.";
default = null; default = null;
description = "Lua module to run setup function on.";
}; };
setupOpts = mkOption { setupOpts = mkOption {
type = attrsOf anything; type = attrsOf anything;
description = "Options to pass to the setup function";
default = {}; default = {};
description = "Options to pass to the setup function";
}; };
# lz.n options # lz.n options
enabled = mkOption { enabled = mkOption {
type = nullOr (either bool str); type = nullOr (either bool str);
description = "When false, or if the lua function returns false, this plugin will not be included in the spec";
default = null; default = null;
description = "When false, or if the lua function returns false, this plugin will not be included in the spec";
}; };
beforeAll = mkOption { beforeAll = mkOption {
type = nullOr lines; type = nullOr lines;
description = "Lua code to run before any plugins are loaded. This will be wrapped in a function.";
default = null; default = null;
description = "Lua code to run before any plugins are loaded. This will be wrapped in a function.";
}; };
before = mkOption { before = mkOption {
type = nullOr lines; type = nullOr lines;
description = "Lua code to run before plugin is loaded. This will be wrapped in a function.";
default = null; default = null;
description = "Lua code to run before plugin is loaded. This will be wrapped in a function.";
}; };
after = mkOption { after = mkOption {
type = nullOr lines; type = nullOr lines;
default = null;
description = '' description = ''
Lua code to run after plugin is loaded. This will be wrapped in a function. Lua code to run after plugin is loaded. This will be wrapped in a function.
If [](#opt-vim.lazy.plugins._name_.setupModule) is provided, the setup will be ran before `after`. If [](#opt-vim.lazy.plugins._name_.setupModule) is provided, the setup will be ran before `after`.
''; '';
default = null;
}; };
event = mkOption { event = mkOption {
description = "Lazy-load on event"; type = nullOr (oneOf [str (listOf str) lznEvent]);
default = null; default = null;
type = let description = "Lazy-load on event";
event = submodule {
options = {
event = mkOption {
type = nullOr (either str (listOf str));
description = "Exact event name";
example = "BufEnter";
};
pattern = mkOption {
type = nullOr (either str (listOf str));
description = "Event pattern";
example = "BufEnter *.lua";
};
};
};
in
nullOr (oneOf [str (listOf str) event]);
}; };
cmd = mkOption { cmd = mkOption {
description = "Lazy-load on command";
default = null;
type = nullOr (either str (listOf str)); type = nullOr (either str (listOf str));
default = null;
description = "Lazy-load on command";
}; };
ft = mkOption { ft = mkOption {
description = "Lazy-load on filetype";
default = null;
type = nullOr (either str (listOf str)); type = nullOr (either str (listOf str));
default = null;
description = "Lazy-load on filetype";
}; };
keys = mkOption { keys = mkOption {
description = "Lazy-load on key mapping";
default = null;
type = nullOr (oneOf [str (listOf lznKeysSpec) (listOf str)]); type = nullOr (oneOf [str (listOf lznKeysSpec) (listOf str)]);
default = null;
example = '' example = ''
keys = [ keys = [
{ {
@ -151,20 +149,21 @@
} }
] ]
''; '';
description = "Lazy-load on key mapping";
}; };
colorscheme = mkOption { colorscheme = mkOption {
description = "Lazy-load on colorscheme.";
type = nullOr (either str (listOf str)); type = nullOr (either str (listOf str));
default = null; default = null;
description = "Lazy-load on colorscheme.";
}; };
lazy = mkBool false "Lazy-load manually, e.g. using `trigger_load`."; lazy = mkBool false "Lazy-load manually, e.g. using `trigger_load`.";
priority = mkOption { priority = mkOption {
type = nullOr int; type = nullOr int;
description = "Only useful for stat plugins (not lazy-loaded) to force loading certain plugins first.";
default = null; default = null;
description = "Only useful for stat plugins (not lazy-loaded) to force loading certain plugins first.";
}; };
load = mkOption { load = mkOption {
@ -182,20 +181,14 @@ in {
options.vim.lazy = { options.vim.lazy = {
enable = mkEnableOption "plugin lazy-loading via lz.n and lzn-auto-require" // {default = true;}; enable = mkEnableOption "plugin lazy-loading via lz.n and lzn-auto-require" // {default = true;};
loader = mkOption { loader = mkOption {
description = "Lazy loader to use";
type = enum ["lz.n"]; type = enum ["lz.n"];
default = "lz.n"; default = "lz.n";
description = "Lazy loader to use";
}; };
plugins = mkOption { plugins = mkOption {
default = {};
type = attrsOf lznPluginType; type = attrsOf lznPluginType;
description = '' default = {};
Plugins to lazy load.
The attribute key is used as the plugin name: for the default `vim.g.lz_n.load`
function this should be either the `package.pname` or `package.name`.
'';
example = '' example = ''
{ {
toggleterm-nvim = { toggleterm-nvim = {
@ -213,15 +206,21 @@ in {
}; };
} }
''; '';
description = ''
Plugins to lazy load.
The attribute key is used as the plugin name: for the default `vim.g.lz_n.load`
function this should be either the `package.pname` or `package.name`.
'';
}; };
enableLznAutoRequire = mkOption { enableLznAutoRequire = mkOption {
type = bool;
default = true;
description = '' description = ''
Enable lzn-auto-require. Since builtin plugins rely on this, only turn Enable lzn-auto-require. Since builtin plugins rely on this, only turn
off for debugging. off for debugging.
''; '';
type = bool;
default = true;
}; };
builtLazyConfig = mkOption { builtLazyConfig = mkOption {