aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/spray/boilerplate/Generator.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/spray/boilerplate/Generator.scala')
-rw-r--r--src/main/scala/spray/boilerplate/Generator.scala16
1 files changed, 2 insertions, 14 deletions
diff --git a/src/main/scala/spray/boilerplate/Generator.scala b/src/main/scala/spray/boilerplate/Generator.scala
index 0dc79ec..ca0e104 100644
--- a/src/main/scala/spray/boilerplate/Generator.scala
+++ b/src/main/scala/spray/boilerplate/Generator.scala
@@ -12,23 +12,11 @@ object Generator {
def generateFromTemplate(template: String, expandTo: Int): String =
generate(TemplateParser.parse(template))(expandTo)
- def formatNum0(num: Int) = num.formatted("%d")
- def formatNumSpace(num: Int) = num.formatted("%d")
- def replaceInPattern(pattern: String)(idx: Int): String =
- // in likely identifiers replace by '04' etc.
- pattern.replaceAll("(?<=\\w)(?<!\\d)(?<!##)2(?!\\d)", formatNum0(idx + 1))
- .replaceAll("(?<=\\w)(?<!\\d)(?<!##)1(?!\\d)", formatNum0(idx))
- .replaceAll("(?<=\\w)(?<!\\d)(?<!##)0(?!\\d)", formatNum0(idx - 1))
-
- // in other places replace by ' 4' etc.
- .replaceAll("(?<!\\w)(?<!\\d)(?<!##)2(?!\\d)", formatNumSpace(idx + 1))
- .replaceAll("(?<!\\w)(?<!\\d)(?<!##)1(?!\\d)", formatNumSpace(idx))
- .replaceAll("(?<!\\w)(?<!\\d)(?<!##)0(?!\\d)", formatNumSpace(idx - 1))
def generate(format: TemplateElement)(idx: Int): String = format match {
case Sequence(els) => els.map(e => generate(e)(idx)).mkString
case Expand(inner, sep) => (1 to idx).map(generate(inner)).mkString(sep)
- case LiteralString(lit) => replaceInPattern(lit)(idx)
- case FixedString(lit) => lit
+ case Offset(i) => (idx + i - 1).toString
+ case LiteralString(lit) => lit
}
}