From 3dc171e41676e9043fe0c6d935b97a944c143dad Mon Sep 17 00:00:00 2001 From: Johannes Rudolph Date: Tue, 16 Oct 2012 14:24:54 +0200 Subject: move from "cc.spray" to "io.spray" --- src/main/scala/spray/boilerplate/Generator.scala | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/main/scala/spray/boilerplate/Generator.scala (limited to 'src/main/scala/spray/boilerplate/Generator.scala') diff --git a/src/main/scala/spray/boilerplate/Generator.scala b/src/main/scala/spray/boilerplate/Generator.scala new file mode 100644 index 0000000..f124691 --- /dev/null +++ b/src/main/scala/spray/boilerplate/Generator.scala @@ -0,0 +1,32 @@ +/* + * sbt-boilerplate is distributed under the 2-Clause BSD license. See the LICENSE file in the root + * of the repository. + * + * Copyright (c) 2012 Johannes Rudolph + */ +package spray.boilerplate + +import util.parsing.combinator.RegexParsers + +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)(? 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 + } +} -- cgit v1.2.3