Browse Source

Improved binary operator line break handling.

newNRvisualizers
mike 14 years ago
parent
commit
47c5b9fae1
  1. 10
      ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs

10
ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs

@ -1350,6 +1350,16 @@ namespace ICSharpCode.NRefactory.CSharp
ForceSpacesAround (binaryOperatorExpression.OperatorToken, forceSpaces); ForceSpacesAround (binaryOperatorExpression.OperatorToken, forceSpaces);
base.VisitBinaryOperatorExpression (binaryOperatorExpression); base.VisitBinaryOperatorExpression (binaryOperatorExpression);
// Handle line breaks in binary opeartor expression.
if (binaryOperatorExpression.Left.StartLocation.Line != binaryOperatorExpression.Right.StartLocation.Line) {
IndentLevel++;
if (binaryOperatorExpression.OperatorToken.StartLocation.Line == binaryOperatorExpression.Right.StartLocation.Line) {
FixStatementIndentation (binaryOperatorExpression.OperatorToken.StartLocation);
} else {
FixStatementIndentation (binaryOperatorExpression.Right.StartLocation);
}
IndentLevel--;
}
} }
public override void VisitConditionalExpression (ConditionalExpression conditionalExpression) public override void VisitConditionalExpression (ConditionalExpression conditionalExpression)

Loading…
Cancel
Save