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(