plugins/neorg: fix logger.modes option (#203)

This commit is contained in:
Gaétan Lepage 2023-02-26 13:39:40 +01:00 committed by GitHub
parent 7a5ca1bfbc
commit 7f0a4a3432
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -70,18 +70,23 @@ in
''; '';
modes = modes =
mapAttrs helpers.mkNullOrOption
(mode: defaults: { (types.submodule {
hl = helpers.defaultNullOpts.mkStr defaults.hl '' options =
Highlight for mode ${mode} mapAttrs
''; (mode: defaults: {
level = hl = helpers.defaultNullOpts.mkStr defaults.hl ''
helpers.defaultNullOpts.mkNullable Highlight for mode ${mode}
(with types; either int (enum levelNames)) '';
defaults.level level = mkOption {
"Level for mode ${mode}"; type = with types; either int (enum levelNames);
default = defaults.level;
description = "Level for mode ${mode}";
};
})
modes;
}) })
modes; "Level configuration";
floatPrecision = helpers.defaultNullOpts.mkNullable types.float "0.01" '' floatPrecision = helpers.defaultNullOpts.mkNullable types.float "0.01" ''
Can limit the number of decimals displayed for floats Can limit the number of decimals displayed for floats
@ -120,23 +125,21 @@ in
level = cfg.logger.level; level = cfg.logger.level;
modes = modes =
attrsets.mapAttrsToList if (isNull cfg.logger.modes)
(mode: modeConfig: { then null
name = mode; else
inherit (modeConfig) hl; attrsets.mapAttrsToList
level = let (mode: modeConfig: {
level = modeConfig.level; name = mode;
in inherit (modeConfig) hl;
if isNull level level = let
then null level = modeConfig.level;
else in
( if (isInt level)
if (isInt level) then level
then level else helpers.mkRaw "vim.log.levels.${strings.toUpper level}";
else helpers.mkRaw "vim.log.levels.${strings.toUpper level}" })
); cfg.logger.modes;
})
cfg.logger.modes;
float_precision = cfg.logger.floatPrecision; float_precision = cfg.logger.floatPrecision;
}; };