Skip to content

Commit

Permalink
Don't add extra space after final else in if-else statement.
Browse files Browse the repository at this point in the history
v0.2
  • Loading branch information
hugheaves committed Dec 15, 2023
1 parent 867a107 commit 2cf85db
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 2 deletions.
7 changes: 5 additions & 2 deletions internal/formatter/formattingvisitor.go
Original file line number Diff line number Diff line change
Expand Up @@ -321,8 +321,11 @@ func (v *FormattingVisitor) VisitIfStatement(ctx *parser.IfStatementContext) int
}

func (v *FormattingVisitor) VisitElseStatement(ctx *parser.ElseStatementContext) interface{} {
v.VisitChildren(ctx)
v.formatter.printSpace()
v.Visit(ctx.ELSE())
nextToken := v.tokenStream.Get(ctx.ELSE().GetSymbol().GetTokenIndex() + 1)
if nextToken.GetTokenType() == parser.OpenSCADLexerIF {
v.formatter.printSpace()
}
return nil
}

Expand Down
6 changes: 6 additions & 0 deletions internal/formatter/testdata/if-else-statement.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
if (part == "adapter") {
adapter();
} else {
side_weight();
translate([0,20,0]) mirror([1,0,0]) side_weight();
}
8 changes: 8 additions & 0 deletions internal/formatter/testdata/if-else-statement.scad.expected
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
if (part == "adapter") {
adapter();
} else {
side_weight();
translate([0, 20, 0])
mirror([1, 0, 0])
side_weight();
}

0 comments on commit 2cf85db

Please sign in to comment.