summaryrefslogtreecommitdiff
path: root/scalatexApi/src/main/scala/scalatex/stages/Trim.scala
diff options
context:
space:
mode:
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")
}
}