From 54e0a1dab3986396128ce9ad9bddb463fbe9d113 Mon Sep 17 00:00:00 2001 From: Bela VanderVoort Date: Fri, 31 May 2024 12:27:57 -0500 Subject: [PATCH] Fixing repeated new line being added within switch expressions closes #1271 --- .../FormattingTests/TestFiles/cs/SwitchExpressions.test | 8 ++++++++ .../SyntaxPrinter/SyntaxNodePrinters/RecursivePattern.cs | 8 +++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/SwitchExpressions.test b/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/SwitchExpressions.test index 1f94b59c2..676fb2df4 100644 --- a/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/SwitchExpressions.test +++ b/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/SwitchExpressions.test @@ -102,5 +102,13 @@ class ClassName // comment Some.Two => 2, }; + + return someValue switch + { + (true, true) => someOtherValue, + (false, false) + or someCondition + => someValue_____________________________________________________ + }; } } diff --git a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/RecursivePattern.cs b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/RecursivePattern.cs index f4f9aacd3..2e4ccb90a 100644 --- a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/RecursivePattern.cs +++ b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/RecursivePattern.cs @@ -27,7 +27,13 @@ FormattingContext context if (node.PositionalPatternClause != null) { result.Add( - node.Parent is SwitchExpressionArmSyntax or CasePatternSwitchLabelSyntax + node.Parent + is SwitchExpressionArmSyntax + or CasePatternSwitchLabelSyntax + or BinaryPatternSyntax + { + Parent: SwitchExpressionArmSyntax or CasePatternSwitchLabelSyntax + } ? Doc.Null : Doc.SoftLine, Doc.Group(