From b113bc69ea5c04c37020a63afa687abfb2d43474 Mon Sep 17 00:00:00 2001 From: Matt Sturgeon Date: Wed, 29 May 2024 09:47:01 +0100 Subject: [PATCH] lib/options: `mkStr` quote default string --- lib/options.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/options.nix b/lib/options.nix index 6f2c09d6..f0d44246 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -111,7 +111,12 @@ rec { # Unsigned: >=0 mkUnsignedInt = default: mkNullableWithRaw types.ints.unsigned (toString default); mkBool = default: mkNullableWithRaw types.bool (if default then "true" else "false"); - mkStr = default: mkNullableWithRaw types.str ''${builtins.toString default}''; + mkStr = + # TODO we should delegate rendering quoted string to `mkDefaultDesc`, + # once we remove its special case for strings. + default: + assert default == null || isString default; + mkNullableWithRaw types.str (generators.toPretty { } default); mkAttributeSet = default: mkNullable nixvimTypes.attrs ''${default}''; mkListOf = ty: default: mkNullable (with nixvimTypes; listOf (maybeRaw ty)) default; mkAttrsOf = ty: default: mkNullable (with nixvimTypes; attrsOf (maybeRaw ty)) default;