aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2016-09-15 11:52:22 +0200
committerFelix Mulder <felix.mulder@gmail.com>2016-10-10 13:25:32 +0200
commit6495210d685fcf89e8ee453e8999ee8883f20683 (patch)
treea200bd45427679f86cb707277bdd848177603acd /src/dotty/tools/dotc/printing/SyntaxHighlighting.scala
parentd2c9e190070a87f75f5398c90758134269752a90 (diff)
downloaddotty-6495210d685fcf89e8ee453e8999ee8883f20683.tar.gz
dotty-6495210d685fcf89e8ee453e8999ee8883f20683.tar.bz2
dotty-6495210d685fcf89e8ee453e8999ee8883f20683.zip
Add highlighting for `???`
Diffstat (limited to 'src/dotty/tools/dotc/printing/SyntaxHighlighting.scala')
-rw-r--r--src/dotty/tools/dotc/printing/SyntaxHighlighting.scala7
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)