From a89f2ba95e449bd40229928e868ea2d4fda05ca9 Mon Sep 17 00:00:00 2001 From: tomasnyberg Date: Tue, 11 Mar 2025 12:12:07 +0100 Subject: [PATCH] Fixes QPP with no comma bug in formatter --- packages/language-support/src/formatting/formatting.ts | 8 ++++++++ .../src/tests/formatting/edgecases.test.ts | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/packages/language-support/src/formatting/formatting.ts b/packages/language-support/src/formatting/formatting.ts index 7f516f255..5e43b2563 100644 --- a/packages/language-support/src/formatting/formatting.ts +++ b/packages/language-support/src/formatting/formatting.ts @@ -902,6 +902,14 @@ export class TreePrintVisitor extends CypherCmdParserVisitor { this.avoidSpaceBetween(); return; } + if (!ctx._from_ && !ctx._to) { + this.visitChildren(ctx); + this.concatenate(); + this.concatenate(); + this.concatenate(); + this.avoidSpaceBetween(); + return; + } if (!ctx._from_) { this.visitTerminalRaw(ctx.LCURLY(), { spacingChoice: 'EXTRA_SPACE' }); } else { diff --git a/packages/language-support/src/tests/formatting/edgecases.test.ts b/packages/language-support/src/tests/formatting/edgecases.test.ts index 44acf3523..2425ff192 100644 --- a/packages/language-support/src/tests/formatting/edgecases.test.ts +++ b/packages/language-support/src/tests/formatting/edgecases.test.ts @@ -405,6 +405,13 @@ RETURN m`; verifyFormatting(query, expected); }); + test('QPP with only a number', () => { + const query = `MATCH (n)-->{4}(m) +RETURN n`; + const expected = query; + verifyFormatting(query, expected); + }); + // Example 1 by Finbar test('QPP spacing with star', () => { const query = `