aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Rudolph <johannes.rudolph@gmail.com>2016-02-24 16:06:43 +0100
committerJohannes Rudolph <johannes.rudolph@gmail.com>2016-02-24 16:25:51 +0100
commitd90a154bdaeb14a6c85f1abb0ea1c5fbe8267db1 (patch)
tree667243441b56ab9bd0ff4dde157d87e93c79b339
parent826be35627c3660a33df22203aca8734513ab02f (diff)
downloadsbt-boilerplate-d90a154bdaeb14a6c85f1abb0ea1c5fbe8267db1.tar.gz
sbt-boilerplate-d90a154bdaeb14a6c85f1abb0ea1c5fbe8267db1.tar.bz2
sbt-boilerplate-d90a154bdaeb14a6c85f1abb0ea1c5fbe8267db1.zip
fix parsing of '#' outside of range (as testified by last commit)
- parse '#' as literal character - allow backquoted form "\#" as well
-rw-r--r--src/main/scala/spray/boilerplate/TemplateParser.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main/scala/spray/boilerplate/TemplateParser.scala b/src/main/scala/spray/boilerplate/TemplateParser.scala
index 9972be2..e70b156 100644
--- a/src/main/scala/spray/boilerplate/TemplateParser.scala
+++ b/src/main/scala/spray/boilerplate/TemplateParser.scala
@@ -51,8 +51,8 @@ object TemplateParser extends RegexParsers {
lazy val escapedSharp: Parser[Char] = "\\#" ^^ (_.drop(1).head)
lazy val escapedLiteralNumber: Parser[Char] = "##" ~> offsetChars ^^ (_.head)
- lazy val outsideLiteralString: Parser[LiteralString] = rep1(outsideLiteralChar) ^^ (chs ⇒ LiteralString(chs.mkString))
- lazy val outsideLiteralChar: Parser[Char] = not(expandStart | """#[^\]]*\]""".r) ~> elem("Any character", _ != EOI)
+ lazy val outsideLiteralString: Parser[LiteralString] = rep1(escapedSharp | outsideLiteralChar) ^^ (chs ⇒ LiteralString(chs.mkString))
+ lazy val outsideLiteralChar: Parser[Char] = not(expandStart) ~> elem("Any character", _ != EOI)
lazy val expand: Parser[Expand] = expandStart ~ elements ~ "#" ~ separatorChars <~ "]" ^^ {
case range ~ els ~ x ~ sep ⇒ Expand(els, sep.getOrElse(Expand.defaultSeparator), range)