From 3939df8dffd2ee1654fca738f381ce3f192dc749 Mon Sep 17 00:00:00 2001 From: benkobalog Date: Fri, 26 Jan 2018 16:31:31 +0100 Subject: [PATCH 1/3] Fix #3814 Correct highlighting after '|', ':' characters in REPL --- .../src/dotty/tools/dotc/printing/SyntaxHighlighting.scala | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala b/compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala index 902c7c14ef68..8473e83b2cf8 100644 --- a/compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala +++ b/compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala @@ -43,7 +43,7 @@ object SyntaxHighlighting { 'q' :: 'r' :: 's' :: 't' :: 'u' :: 'v' :: 'w' :: 'x' :: 'y' :: 'z' :: Nil private val typeEnders = - '{' :: '}' :: ')' :: '(' :: '[' :: ']' :: '=' :: ' ' :: ',' :: '.' :: + '{' :: '}' :: ')' :: '(' :: '[' :: ']' :: '=' :: ' ' :: ',' :: '.' :: '|' :: '\n' :: Nil def apply(chars: Iterable[Char]): Iterable[Char] = { @@ -54,7 +54,8 @@ object SyntaxHighlighting { @inline def keywordStart = prev == 0 || prev == ' ' || prev == '{' || prev == '(' || - prev == '\n' || prev == '[' || prev == ',' + prev == '\n' || prev == '[' || prev == ',' || prev == ':' || + prev == '|' @inline def numberStart(c: Char) = c.isDigit && (!prev.isLetter || prev == '.' || prev == ' ' || prev == '(' || prev == '\u0000') From 57f2fe92e47f41c4538c6b1416285c48ea64921a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E5=8D=9A=20=28Yang=20Bo=29?= Date: Mon, 29 Jan 2018 21:23:41 +0800 Subject: [PATCH 2/3] Fix #3814 Correct highlighting after '&' characters in REPL --- .../src/dotty/tools/dotc/printing/SyntaxHighlighting.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala b/compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala index 8473e83b2cf8..c200d2e64b9d 100644 --- a/compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala +++ b/compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala @@ -44,7 +44,7 @@ object SyntaxHighlighting { private val typeEnders = '{' :: '}' :: ')' :: '(' :: '[' :: ']' :: '=' :: ' ' :: ',' :: '.' :: '|' :: - '\n' :: Nil + :: '&' :: '\n' :: Nil def apply(chars: Iterable[Char]): Iterable[Char] = { var prev: Char = 0 @@ -55,7 +55,7 @@ object SyntaxHighlighting { @inline def keywordStart = prev == 0 || prev == ' ' || prev == '{' || prev == '(' || prev == '\n' || prev == '[' || prev == ',' || prev == ':' || - prev == '|' + prev == '|' || prev == '&' @inline def numberStart(c: Char) = c.isDigit && (!prev.isLetter || prev == '.' || prev == ' ' || prev == '(' || prev == '\u0000') From e47adc04437c6d2fd914c502edbf5b1392a94b07 Mon Sep 17 00:00:00 2001 From: benkobalog Date: Mon, 29 Jan 2018 16:20:38 +0100 Subject: [PATCH 3/3] Fix #3814 Correct highlighting after '|', ':', '&' characters in REPL --- compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala b/compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala index c200d2e64b9d..99bacc696fde 100644 --- a/compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala +++ b/compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala @@ -44,7 +44,7 @@ object SyntaxHighlighting { private val typeEnders = '{' :: '}' :: ')' :: '(' :: '[' :: ']' :: '=' :: ' ' :: ',' :: '.' :: '|' :: - :: '&' :: '\n' :: Nil + '&' :: '\n' :: Nil def apply(chars: Iterable[Char]): Iterable[Char] = { var prev: Char = 0