| ... | ... | @@ -728,17 +728,7 @@ fn renderExpression(r: *Render, node: Ast.Node.Index, space: Space) Error!void { |
| 728 | 728 | |
| 729 | 729 | try renderToken(r, error_token, .none); |
| 730 | 730 | |
| 731 | | if (lbrace + 1 == rbrace) { |
| 732 | | // There is nothing between the braces so render condensed: `error{}` |
| 733 | | try renderToken(r, lbrace, .none); |
| 734 | | return renderToken(r, rbrace, space); |
| 735 | | } else if (lbrace + 2 == rbrace and tree.tokenTag(lbrace + 1) == .identifier) { |
| 736 | | // There is exactly one member and no trailing comma or |
| 737 | | // comments, so render without surrounding spaces: `error{Foo}` |
| 738 | | try renderToken(r, lbrace, .none); |
| 739 | | try renderIdentifier(r, lbrace + 1, .none, .eagerly_unquote); // identifier |
| 740 | | return renderToken(r, rbrace, space); |
| 741 | | } else if (!isOneLineErrorSetDecl(tree, lbrace, rbrace)) { |
| 731 | if (!isOneLineErrorSetDecl(tree, lbrace, rbrace)) { |
| 742 | 732 | // Render each member on a new line. |
| 743 | 733 | try ais.pushIndent(.normal); |
| 744 | 734 | try renderToken(r, lbrace, .newline); |
| ... | ... | @@ -763,14 +753,24 @@ fn renderExpression(r: *Render, node: Ast.Node.Index, space: Space) Error!void { |
| 763 | 753 | ais.popIndent(); |
| 764 | 754 | return renderToken(r, rbrace, space); |
| 765 | 755 | } else { |
| 766 | | // Render each member on one line. |
| 767 | | try renderToken(r, lbrace, .space); |
| 768 | | var i = lbrace + 1; |
| 769 | | while (i < rbrace) : (i += 1) { |
| 770 | | switch (tree.tokenTag(i)) { |
| 771 | | .identifier => try renderIdentifier(r, i, .comma_space, .eagerly_unquote), |
| 772 | | .comma => {}, |
| 773 | | else => unreachable, |
| 756 | if (lbrace + 1 == rbrace) { |
| 757 | // There is nothing between the braces so render condensed: `error{}` |
| 758 | try renderToken(r, lbrace, .none); |
| 759 | } else if (lbrace + 2 == rbrace) { |
| 760 | // There is exactly one member and no trailing comma or |
| 761 | // comments, so render without surrounding spaces: `error{Foo}` |
| 762 | try renderToken(r, lbrace, .none); |
| 763 | try renderIdentifier(r, lbrace + 1, .none, .eagerly_unquote); // identifier |
| 764 | } else { |
| 765 | // Render each member on one line. |
| 766 | try renderToken(r, lbrace, .space); |
| 767 | var i = lbrace + 1; |
| 768 | while (i < rbrace) : (i += 1) { |
| 769 | switch (tree.tokenTag(i)) { |
| 770 | .identifier => try renderIdentifier(r, i, .comma_space, .eagerly_unquote), |
| 771 | .comma => {}, |
| 772 | else => unreachable, |
| 773 | } |
| 774 | 774 | } |
| 775 | 775 | } |
| 776 | 776 | return renderToken(r, rbrace, space); |