playframework / twirl

Twirl is Play's default template engine
Apache License 2.0
549 stars 108 forks source link

A whitespace after if(){}else{} is not showing #711

Closed yousuketto closed 12 months ago

yousuketto commented 12 months ago

A whitespace after if(condition) {...} else {...} is not showing.

Reproduction

scalaVersion = "2.13.12" sbt-twirl version: 1.6.2 (Reproduced in 1.6.0-M1+38-e141ce17-SNAPSHOT, Not reproduced in "1.6.0-M1+35-de50d09a-SNAPSHOT)

code

$ cat src/main/twirl/com/github/yousuketto/sample.scala.txt
@(b: Boolean)
You got @if(b) {a pullrequest} else {pullrequests} from someone.

Execute in sbt console

scala> com.github.yousuketto.txt.sample(false)
val res0: play.twirl.api.TxtFormat.Appendable =
You got pullrequestsfrom someone.

scala> com.github.yousuketto.txt.sample(true)
val res1: play.twirl.api.TxtFormat.Appendable =
You got a pullrequestfrom someone.

scala>

Expected

scala> com.github.yousuketto.txt.sample(true)
val res0: play.twirl.api.TxtFormat.Appendable =
You got a pullrequest from someone.

scala> com.github.yousuketto.txt.sample(true)
val res1: play.twirl.api.TxtFormat.Appendable =
You got a pullrequest from someone.

scala>
mkurz commented 12 months ago

According to

git log de50d09a..e141ce17

this must be caused by e8b6ceb2542f90e7c1baa18cea5fcc3688a0d3ad

@tototoshi or also @yousuketto can you take a look here and provide a pull request if you have time? Also a test would be great, thanks! I may fix that, but have lots of other stuff to do, so it might take a while.

mkurz commented 12 months ago

Fixed by