From 7c31cac3ecd8349403a5b6647ebed241ffec0ff6 Mon Sep 17 00:00:00 2001 From: Matt Kantor Date: Mon, 27 Jan 2025 11:06:00 -0500 Subject: [PATCH] Apply atom quoting fix to inline-plz too --- src/language/unparsing/inline-plz.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/language/unparsing/inline-plz.ts b/src/language/unparsing/inline-plz.ts index 04f6687..a427722 100644 --- a/src/language/unparsing/inline-plz.ts +++ b/src/language/unparsing/inline-plz.ts @@ -30,10 +30,17 @@ const arrow = kleur.dim('=>') const escapeStringContents = (value: string) => value.replace('\\', '\\\\').replace('"', '\\"') -const quoteIfNecessary = (value: string) => - !either.isLeft(unquotedAtomParser(value)) - ? value - : quote.concat(escapeStringContents(value)).concat(quote) +const quoteIfNecessary = (value: string) => { + const unquotedAtomResult = unquotedAtomParser(value) + if ( + either.isLeft(unquotedAtomResult) || + unquotedAtomResult.value.remainingInput.length !== 0 + ) { + return quote.concat(escapeStringContents(value)).concat(quote) + } else { + return value + } +} const atom = (node: string): Right => either.makeRight(