lib/options: defaultNullOpts delegate string rendering

This commit is contained in:
Matt Sturgeon 2024-05-30 03:08:40 +01:00
parent ff1ab1700c
commit 51240cef0e
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299

View file

@ -104,20 +104,20 @@ rec {
mkLuaFn = default: desc: mkNullOrLuaFn (mkDesc default desc); mkLuaFn = default: desc: mkNullOrLuaFn (mkDesc default desc);
mkNum = default: mkNullableWithRaw types.number (toString default); mkNum = mkNullableWithRaw types.number;
mkInt = default: mkNullableWithRaw types.int (toString default); mkInt = mkNullableWithRaw types.int;
# Positive: >0 # Positive: >0
mkPositiveInt = default: mkNullableWithRaw types.ints.positive (toString default); mkPositiveInt = mkNullableWithRaw types.ints.positive;
# Unsigned: >=0 # Unsigned: >=0
mkUnsignedInt = default: mkNullableWithRaw types.ints.unsigned (toString default); mkUnsignedInt = mkNullableWithRaw types.ints.unsigned;
mkBool = default: mkNullableWithRaw types.bool (if default then "true" else "false"); mkBool = mkNullableWithRaw types.bool;
mkStr = mkStr =
# TODO we should delegate rendering quoted string to `mkDefaultDesc`, # TODO we should delegate rendering quoted string to `mkDefaultDesc`,
# once we remove its special case for strings. # once we remove its special case for strings.
default: default:
assert default == null || isString default; assert default == null || isString default;
mkNullableWithRaw types.str (generators.toPretty { } default); mkNullableWithRaw types.str (generators.toPretty { } default);
mkAttributeSet = default: mkNullable nixvimTypes.attrs ''${default}''; mkAttributeSet = mkNullable nixvimTypes.attrs;
mkListOf = ty: default: mkNullable (with nixvimTypes; listOf (maybeRaw ty)) default; mkListOf = ty: default: mkNullable (with nixvimTypes; listOf (maybeRaw ty)) default;
mkAttrsOf = ty: default: mkNullable (with nixvimTypes; attrsOf (maybeRaw ty)) default; mkAttrsOf = ty: default: mkNullable (with nixvimTypes; attrsOf (maybeRaw ty)) default;
mkEnum = mkEnum =