diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-09-15 11:52:22 +0200 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2016-10-10 13:25:32 +0200 |
commit | 6495210d685fcf89e8ee453e8999ee8883f20683 (patch) | |
tree | a200bd45427679f86cb707277bdd848177603acd /src/dotty | |
parent | d2c9e190070a87f75f5398c90758134269752a90 (diff) | |
download | dotty-6495210d685fcf89e8ee453e8999ee8883f20683.tar.gz dotty-6495210d685fcf89e8ee453e8999ee8883f20683.tar.bz2 dotty-6495210d685fcf89e8ee453e8999ee8883f20683.zip |
Add highlighting for `???`
Diffstat (limited to 'src/dotty')
-rw-r--r-- | src/dotty/tools/dotc/printing/SyntaxHighlighting.scala | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala b/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala index c933dd0b9..51dee349b 100644 --- a/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala +++ b/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala @@ -36,6 +36,7 @@ object SyntaxHighlighting { private def typeDef(str: String) = TypeColor + str + NoColor private def literal(str: String) = LiteralColor + str + NoColor private def annotation(str: String) = AnnotationColor + str + NoColor + private val tripleQs = Console.RED_B + "???" + NoColor private val keywords: Seq[String] = for { index <- IF to INLINE // All alpha keywords @@ -123,7 +124,11 @@ object SyntaxHighlighting { case '`' => appendTo('`', _ == '`', none) case _ => { - if (n.isUpper && keywordStart) + if (n == '?' && remaining.take(2).mkString == "??") { + takeChars(2) + newBuf append tripleQs + prev = '?' + } else if (n.isUpper && keywordStart) appendWhile(n, !typeEnders.contains(_), typeDef) else if (numberStart(n)) appendWhile(n, { x => x.isDigit || x == '.' || x == '\u0000'}, literal) |