plugins: use LogLevel where possible

This commit is contained in:
Gaetan Lepage 2023-11-30 15:50:24 +01:00 committed by Gaétan Lepage
parent a70947a563
commit dbcd314708
7 changed files with 45 additions and 61 deletions

View file

@ -812,7 +812,7 @@ in {
}; };
notify = { notify = {
threshold = helpers.defaultNullOpts.mkEnum ["error" "warning" "info" "debug"] "info" '' threshold = helpers.defaultNullOpts.mkLogLevel "info" ''
Specify minimum notification level, uses the values from |vim.log.levels| Specify minimum notification level, uses the values from |vim.log.levels|
- `error`: hard errors e.g. failure to read from the file system. - `error`: hard errors e.g. failure to read from the file system.
@ -1010,9 +1010,7 @@ in {
}; };
inherit tab; inherit tab;
notify = with notify; { notify = with notify; {
threshold = inherit threshold;
ifNonNull' cfg.notify.threshold
(helpers.mkRaw "vim.log.levels.${strings.toUpper notify.threshold}");
}; };
inherit ui; inherit ui;
log = with log; { log = with log; {

View file

@ -136,15 +136,11 @@ with lib; {
(see `|standard-path|`). (see `|standard-path|`).
''; '';
level = level = helpers.defaultNullOpts.mkLogLevel "warn" ''
helpers.defaultNullOpts.mkEnum Only messages equal to or above this value will be logged.
["debug" "error" "info" "trace" "warn" "off"] The default is to log warnings or above.
"warn" See `|log_levels|` for possible values.
'' '';
Only messages equal to or above this value will be logged.
The default is to log warnings or above.
See `|log_levels|` for possible values.
'';
}; };
}; };
@ -210,10 +206,10 @@ with lib; {
blacklist blacklist
; ;
log = with log; { log = with log; {
inherit file; inherit
level = file
helpers.ifNonNull' level level
(helpers.mkRaw "vim.log.levels.${strings.toUpper level}"); ;
}; };
} }
// cfg.extraOptions; // cfg.extraOptions;

View file

@ -85,10 +85,9 @@ in {
This can also be a function that returns the table. This can also be a function that returns the table.
''; '';
logLevel = logLevel = helpers.defaultNullOpts.mkLogLevel "error" ''
helpers.defaultNullOpts.mkEnumFirstDefault Set the log level. Use `:ConformInfo` to see the location of the log file.
["ERROR" "DEBUG" "INFO" "TRACE" "WARN" "OFF"] '';
"Set the log level. Use `:ConformInfo` to see the location of the log file.";
notifyOnError = notifyOnError =
helpers.defaultNullOpts.mkBool true helpers.defaultNullOpts.mkBool true
@ -114,7 +113,7 @@ in {
format_after_save = helpers.ifNonNull' formatAfterSave { format_after_save = helpers.ifNonNull' formatAfterSave {
lsp_fallback = formatAfterSave.lspFallback; lsp_fallback = formatAfterSave.lspFallback;
}; };
log_level = helpers.ifNonNull' logLevel (helpers.mkRaw "vim.log.levels.${logLevel}"); log_level = logLevel;
notify_on_error = notifyOnError; notify_on_error = notifyOnError;
inherit formatters; inherit formatters;
} }

View file

@ -46,8 +46,6 @@ in
level = 5; level = 5;
}; };
}; };
levelNames = attrNames modes;
in { in {
plugin = helpers.defaultNullOpts.mkStr "neorg" '' plugin = helpers.defaultNullOpts.mkStr "neorg" ''
Name of the plugin. Prepended to log messages Name of the plugin. Prepended to log messages
@ -65,22 +63,22 @@ in
Should write to a file Should write to a file
''; '';
level = helpers.defaultNullOpts.mkEnum levelNames "warn" '' level = helpers.defaultNullOpts.mkEnum (attrNames modes) "warn" ''
Any messages above this level will be logged Any messages above this level will be logged
''; '';
modes = modes =
mapAttrs mapAttrs
(mode: defaults: { (mode: defaults:
hl = helpers.defaultNullOpts.mkStr defaults.hl '' helpers.mkCompositeOption "Settings for mode ${mode}." {
Highlight for mode ${mode} hl = helpers.defaultNullOpts.mkStr defaults.hl ''
''; Highlight for mode ${mode}.
level = mkOption { '';
type = with types; either int (enum levelNames);
default = defaults.level; level = helpers.defaultNullOpts.mkLogLevel defaults.level ''
description = "Level for mode ${mode}"; Level for mode ${mode}.
}; '';
}) })
modes; modes;
floatPrecision = helpers.defaultNullOpts.mkNullable types.float "0.01" '' floatPrecision = helpers.defaultNullOpts.mkNullable types.float "0.01" ''
@ -119,18 +117,20 @@ in
inherit level; inherit level;
modes = modes =
mapAttrsToList filter (v: v != null)
(mode: modeConfig: { (
name = mode; mapAttrsToList
inherit (modeConfig) hl; (mode: modeConfig:
level = let helpers.ifNonNull' modeConfig {
inherit (modeConfig) level; name = mode;
in inherit
if (isInt level) (modeConfig)
then level hl
else helpers.mkRaw "vim.log.levels.${strings.toUpper level}"; level
}) ;
modes; })
modes
);
float_precision = floatPrecision; float_precision = floatPrecision;
}; };

View file

@ -15,18 +15,9 @@ in {
package = helpers.mkPackageOption "nvim-notify" pkgs.vimPlugins.nvim-notify; package = helpers.mkPackageOption "nvim-notify" pkgs.vimPlugins.nvim-notify;
level = level = helpers.defaultNullOpts.mkLogLevel "info" ''
helpers.defaultNullOpts.mkNullable Minimum log level to display. See `vim.log.levels`.
( '';
with types;
oneOf [
ints.unsigned
helpers.rawType
str
]
)
''{__raw = "vim.log.levels.INFO";}''
"Minimum log level to display. See `vim.log.levels`.";
timeout = helpers.defaultNullOpts.mkUnsignedInt 5000 "Default timeout for notification."; timeout = helpers.defaultNullOpts.mkUnsignedInt 5000 "Default timeout for notification.";

View file

@ -21,7 +21,7 @@
formatAfterSave = { formatAfterSave = {
lspFallback = true; lspFallback = true;
}; };
logLevel = "ERROR"; logLevel = "error";
notifyOnError = true; notifyOnError = true;
formatters = { formatters = {
myFormatter = { myFormatter = {

View file

@ -7,7 +7,7 @@
plugins.notify = { plugins.notify = {
enable = true; enable = true;
level.__raw = "vim.log.levels.INFO"; level = "info";
timeout = 5000; timeout = 5000;
maxWidth = null; maxWidth = null;
maxHeight = null; maxHeight = null;