diff --git a/packages/language-support/src/formatting/formatting.ts b/packages/language-support/src/formatting/formatting.ts index 7f516f255..09a0643db 100644 --- a/packages/language-support/src/formatting/formatting.ts +++ b/packages/language-support/src/formatting/formatting.ts @@ -769,8 +769,8 @@ export class TreePrintVisitor extends CypherCmdParserVisitor { ) => { this.visitIfNotNull(ctx.variable()); this.visitIfNotNull(ctx.labelExpression()); - if (ctx instanceof RelationshipPatternContext) { - this.visitIfNotNull(ctx.pathLength()); + if (ctx instanceof RelationshipPatternContext && ctx.pathLength()) { + this.visit(ctx.pathLength()); this.concatenate(); } this.visitIfNotNull(ctx.properties()); diff --git a/packages/language-support/src/tests/formatting/edgecases.test.ts b/packages/language-support/src/tests/formatting/edgecases.test.ts index 44acf3523..4562513e8 100644 --- a/packages/language-support/src/tests/formatting/edgecases.test.ts +++ b/packages/language-support/src/tests/formatting/edgecases.test.ts @@ -617,4 +617,11 @@ FOREACH (item IN items | RETURN n`; verifyFormatting(query, expected); }); + + test('relation with IS CONNECTED should not concatenate to ISCONNECTED', () => { + const query = `MATCH (n)-[IS CONNECTED]->(m) +RETURN n, m`; + const expected = query; + verifyFormatting(query, expected); + }); });