From 06ebb66bb30c787815170d96c7088a019bb00cae Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Mon, 17 Nov 2014 23:19:43 -0800 Subject: Handle cases like `val __K__0__1___+++ = 10` --- scalatexApi/src/main/scala/scalaparser/syntax/Identifiers.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'scalatexApi/src/main/scala/scalaparser/syntax/Identifiers.scala') diff --git a/scalatexApi/src/main/scala/scalaparser/syntax/Identifiers.scala b/scalatexApi/src/main/scala/scalaparser/syntax/Identifiers.scala index e5d3934..2590dfa 100644 --- a/scalatexApi/src/main/scala/scalaparser/syntax/Identifiers.scala +++ b/scalatexApi/src/main/scala/scalaparser/syntax/Identifiers.scala @@ -13,7 +13,10 @@ trait Identifiers { self: Parser with Basic => } def PlainId = rule { Upper ~ IdRest | VarId | !(Keywords ~ (WhitespaceChar | Newline | "//" | "/*")) ~ Operator } def Id = rule { PlainId | ("`" ~ oneOrMore(noneOf("`")) ~ "`") } - def IdRest = rule { zeroOrMore(Letter | Digit) ~ optional("_" ~ Operator) } + def IdRest = rule { + zeroOrMore(zeroOrMore("_") ~ oneOrMore(!"_" ~ Letter | Digit)) ~ + optional(oneOrMore("_") ~ Operator) + } def AlphabetKeywords = rule { -- cgit v1.2.3