From 19198edea8bf68e23de269b299d50987bcb053bd Mon Sep 17 00:00:00 2001 From: Domn Werner Date: Mon, 17 Oct 2022 22:21:38 -0700 Subject: [PATCH 1/2] Add line when await precedes query expression. --- .../FormattingTests/TestFiles/QueryExpressions.cst | 6 ++++++ .../SyntaxPrinter/SyntaxNodePrinters/AwaitExpression.cs | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Src/CSharpier.Tests/FormattingTests/TestFiles/QueryExpressions.cst b/Src/CSharpier.Tests/FormattingTests/TestFiles/QueryExpressions.cst index 216e7018b..d7cce0071 100644 --- a/Src/CSharpier.Tests/FormattingTests/TestFiles/QueryExpressions.cst +++ b/Src/CSharpier.Tests/FormattingTests/TestFiles/QueryExpressions.cst @@ -63,5 +63,11 @@ class ClassName Country________________________ = g.Key, CustCount____________________________ = g.Count() }; + + var asyncQuery = await + from c in customers + from u in users + from res in HandleAsync(c, u) + select res; } } diff --git a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/AwaitExpression.cs b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/AwaitExpression.cs index 2da6c0b30..314b182f2 100644 --- a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/AwaitExpression.cs +++ b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/AwaitExpression.cs @@ -4,9 +4,11 @@ internal static class AwaitExpression { public static Doc Print(AwaitExpressionSyntax node, FormattingContext context) { + var precedesQueryExpression = node.Expression is QueryExpressionSyntax; + return Doc.Concat( Token.PrintWithSuffix(node.AwaitKeyword, " ", context), - Node.Print(node.Expression, context) + precedesQueryExpression ? Doc.Indent(Doc.Line, Node.Print(node.Expression, context)) : Node.Print(node.Expression, context) ); } } From 1888cd2dc58496f60e0123aeb918d0da18a7f53c Mon Sep 17 00:00:00 2001 From: Domn Werner Date: Mon, 17 Oct 2022 22:25:51 -0700 Subject: [PATCH 2/2] Formatting. --- .../SyntaxPrinter/SyntaxNodePrinters/AwaitExpression.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/AwaitExpression.cs b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/AwaitExpression.cs index 314b182f2..bb812ba73 100644 --- a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/AwaitExpression.cs +++ b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/AwaitExpression.cs @@ -8,7 +8,9 @@ public static Doc Print(AwaitExpressionSyntax node, FormattingContext context) return Doc.Concat( Token.PrintWithSuffix(node.AwaitKeyword, " ", context), - precedesQueryExpression ? Doc.Indent(Doc.Line, Node.Print(node.Expression, context)) : Node.Print(node.Expression, context) + precedesQueryExpression + ? Doc.Indent(Doc.Line, Node.Print(node.Expression, context)) + : Node.Print(node.Expression, context) ); } }