diff options
Diffstat (limited to 'src/main/scala/spray/boilerplate/Generator.scala')
-rw-r--r-- | src/main/scala/spray/boilerplate/Generator.scala | 16 |
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 } } |