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 =
helpers.mkNullOrOption
(types.submodule {
options =
mapAttrs mapAttrs
(mode: defaults: { (mode: defaults: {
hl = helpers.defaultNullOpts.mkStr defaults.hl '' hl = helpers.defaultNullOpts.mkStr defaults.hl ''
Highlight for mode ${mode} Highlight for mode ${mode}
''; '';
level = level = mkOption {
helpers.defaultNullOpts.mkNullable type = with types; either int (enum levelNames);
(with types; either int (enum levelNames)) default = defaults.level;
defaults.level description = "Level for mode ${mode}";
"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,6 +125,9 @@ in
level = cfg.logger.level; level = cfg.logger.level;
modes = modes =
if (isNull cfg.logger.modes)
then null
else
attrsets.mapAttrsToList attrsets.mapAttrsToList
(mode: modeConfig: { (mode: modeConfig: {
name = mode; name = mode;
@ -127,14 +135,9 @@ in
level = let level = let
level = modeConfig.level; level = modeConfig.level;
in in
if isNull level
then null
else
(
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;