Avoid unnecessary indents for compount boolean expressions (#246)

- Avoid incrementing indents for compound binary boolean expressions. Multiple 'AND x = Y' statements were each indenting instead of having the same indent level.
- Fixes https://github.com/Microsoft/vscode-mssql/issues/709
This commit is contained in:
Kevin Cunnane
2017-02-21 22:18:01 -08:00
committed by GitHub
parent e1c8cc5ac3
commit 7f20f84add
6 changed files with 73 additions and 7 deletions

View File

@@ -38,12 +38,15 @@ namespace Microsoft.SqlTools.ServiceLayer.Formatter
internal override void ProcessPrefixRegion(int startTokenNumber, int firstChildStartTokenNumber)
{
SpaceSeparatedListFormatter.ProcessPrefixRegion(startTokenNumber, firstChildStartTokenNumber);
// Binary boolean expressions
bool allowIncrement = !(CodeObject.Parent is SqlBinaryBooleanExpression);
SpaceSeparatedListFormatter.ProcessPrefixRegion(startTokenNumber, firstChildStartTokenNumber, allowIncrement);
}
internal override void ProcessSuffixRegion(int lastChildEndTokenNumber, int endTokenNumber)
{
SpaceSeparatedListFormatter.ProcessSuffixRegion(lastChildEndTokenNumber, endTokenNumber);
bool allowDecrement = !(CodeObject.Parent is SqlBinaryBooleanExpression);
SpaceSeparatedListFormatter.ProcessSuffixRegion(lastChildEndTokenNumber, endTokenNumber, allowDecrement);
}
internal override void ProcessInterChildRegion(SqlCodeObject previousChild, SqlCodeObject nextChild)