summaryrefslogtreecommitdiff
path: root/scalatexApi/src/main/scala/scalatex/stages/IndentHandler.scala
diff options
context:
space:
mode:
authorLi Haoyi <haoyi@dropbox.com>2014-11-01 10:15:13 -0700
committerLi Haoyi <haoyi@dropbox.com>2014-11-01 10:15:13 -0700
commitc0b06c5e3f3caa60736794143f278c2af5cbe9fb (patch)
treef66c244943702c46daee94aaa1b98a07d6542830 /scalatexApi/src/main/scala/scalatex/stages/IndentHandler.scala
parentaae594fd3c8397abca4cd4e55f538d41b172b4e3 (diff)
downloadhands-on-scala-js-c0b06c5e3f3caa60736794143f278c2af5cbe9fb.tar.gz
hands-on-scala-js-c0b06c5e3f3caa60736794143f278c2af5cbe9fb.tar.bz2
hands-on-scala-js-c0b06c5e3f3caa60736794143f278c2af5cbe9fb.zip
scalatex tests pass
Diffstat (limited to 'scalatexApi/src/main/scala/scalatex/stages/IndentHandler.scala')
-rw-r--r--scalatexApi/src/main/scala/scalatex/stages/IndentHandler.scala16
1 files changed, 11 insertions, 5 deletions
diff --git a/scalatexApi/src/main/scala/scalatex/stages/IndentHandler.scala b/scalatexApi/src/main/scala/scalatex/stages/IndentHandler.scala
index 180d134..697ccc3 100644
--- a/scalatexApi/src/main/scala/scalatex/stages/IndentHandler.scala
+++ b/scalatexApi/src/main/scala/scalatex/stages/IndentHandler.scala
@@ -49,8 +49,15 @@ object IndentHandler extends (String => String){
// println(spaces, current)
val declRemainder = successRemainder(Parser.parse(current.trim, _.templateDeclaration()))
-
- val exprRemainder = successRemainder(Parser.parse(current.trim, _.expression())).filter(_ == current.trim)
+// println("::::::" + current.trim)
+// println(successRemainder(Parser.parse(current.trim, _.expression())))
+ val exprRemainder = successRemainder(Parser.parse(current.trim, _.expression())).filter {
+ // Either it takes up the entire line or the line ends with a =>, in which case
+ // we assume the guy wanted to pass a lambda
+ x =>
+// println(x)
+ x == current.trim || current.trim.endsWith("=>")
+ }
/**
@@ -81,14 +88,13 @@ object IndentHandler extends (String => String){
val newFirst =
if (!before.startsWith("@else")) before
else before.dropRight("@else".length)+ "} else"
-
+ println(before, after, delta)
if (delta > 0 && noBraceLine(after)) newFirst + "{" + after
else if (delta <= 0 && noBraceLine(after) && after.trim != "") newFirst + "{" + after + "}" * (1 - elseCorrection)
else current
-
-
}
+
val closing = "}" * (-delta - elseCorrection)
val newStack =