diff --git a/lib/helpers.nix b/lib/helpers.nix index dbbaf9be..d28977ef 100644 --- a/lib/helpers.nix +++ b/lib/helpers.nix @@ -193,6 +193,37 @@ with lib; rec { else '' ${desc} + ${defaultDesc} + ''; + }; + mkLogLevel = default: desc: + mkOption { + type = with types; + nullOr + ( + either ints.unsigned + ( + enum + ["off" "error" "warn" "info" "debug" "trace"] + ) + ); + default = null; + apply = + mapNullable + ( + value: + if isInt value + then value + else mkRaw "vim.log.levels.${strings.toUpper value}" + ); + description = let + defaultDesc = "default: `${toString default}`"; + in + if desc == "" + then defaultDesc + else '' + ${desc} + ${defaultDesc} ''; };