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,11 +136,7 @@ with lib; {
(see `|standard-path|`). (see `|standard-path|`).
''; '';
level = level = helpers.defaultNullOpts.mkLogLevel "warn" ''
helpers.defaultNullOpts.mkEnum
["debug" "error" "info" "trace" "warn" "off"]
"warn"
''
Only messages equal to or above this value will be logged. Only messages equal to or above this value will be logged.
The default is to log warnings or above. The default is to log warnings or above.
See `|log_levels|` for possible values. 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,21 +63,21 @@ 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:
helpers.mkCompositeOption "Settings for mode ${mode}." {
hl = helpers.defaultNullOpts.mkStr defaults.hl '' hl = helpers.defaultNullOpts.mkStr defaults.hl ''
Highlight for mode ${mode} Highlight for mode ${mode}.
'';
level = helpers.defaultNullOpts.mkLogLevel defaults.level ''
Level for mode ${mode}.
''; '';
level = mkOption {
type = with types; either int (enum levelNames);
default = defaults.level;
description = "Level for mode ${mode}";
};
}) })
modes; modes;
@ -119,18 +117,20 @@ in
inherit level; inherit level;
modes = modes =
filter (v: v != null)
(
mapAttrsToList mapAttrsToList
(mode: modeConfig: { (mode: modeConfig:
helpers.ifNonNull' modeConfig {
name = mode; name = mode;
inherit (modeConfig) hl; inherit
level = let (modeConfig)
inherit (modeConfig) level; hl
in level
if (isInt level) ;
then level
else helpers.mkRaw "vim.log.levels.${strings.toUpper 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;