summaryrefslogtreecommitdiff
path: root/scalatexApi/src/main/scala/scalatex/stages/Trim.scala
diff options
context:
space:
mode:
authorLi Haoyi <haoyi@dropbox.com>2014-11-05 20:47:41 -0800
committerLi Haoyi <haoyi@dropbox.com>2014-11-05 20:47:41 -0800
commit80beed1c4184bb564b2e669cc6f43ef4c6108d06 (patch)
tree8f9a2dafc5dc7558fadfb6eb78a9bbaaffd69cfe /scalatexApi/src/main/scala/scalatex/stages/Trim.scala
parentc7d96c649cf2b2832a597df405f3c1afcd674009 (diff)
downloadhands-on-scala-js-80beed1c4184bb564b2e669cc6f43ef4c6108d06.tar.gz
hands-on-scala-js-80beed1c4184bb564b2e669cc6f43ef4c6108d06.tar.bz2
hands-on-scala-js-80beed1c4184bb564b2e669cc6f43ef4c6108d06.zip
Trim migration half done
Diffstat (limited to 'scalatexApi/src/main/scala/scalatex/stages/Trim.scala')
-rw-r--r--scalatexApi/src/main/scala/scalatex/stages/Trim.scala15
1 files changed, 10 insertions, 5 deletions
diff --git a/scalatexApi/src/main/scala/scalatex/stages/Trim.scala b/scalatexApi/src/main/scala/scalatex/stages/Trim.scala
index 02d9cc4..1ac7be1 100644
--- a/scalatexApi/src/main/scala/scalatex/stages/Trim.scala
+++ b/scalatexApi/src/main/scala/scalatex/stages/Trim.scala
@@ -8,16 +8,21 @@ package scalatex.stages
*
* Remove all trailing whitespace from each line.
*/
-object Trim extends (String => String){
+object Trim extends (String => (String, Int)){
def apply(str: String) = {
- val lines = str.split("\n")
+ val lines = str.split("\n", -1)
val offset = lines.iterator
.filter(_.length > 0)
.next()
.takeWhile(_ == ' ')
.length
- lines.iterator
- .map(_.drop(offset).replaceFirst("\\s+$", ""))
- .mkString("\n")
+ val res = lines.iterator
+ .map(_.replaceFirst("\\s+$", ""))
+ .mkString("\n")
+ (res, offset)
+ }
+ def old(str: String) = {
+ val (res, offset) = this.apply(str)
+ res.split("\n", -1).map(_.drop(offset)).mkString("\n")
}
}