From d1ec1407b88f70f4172ad48163f6c7e677a38958 Mon Sep 17 00:00:00 2001 From: Felix Mulder Date: Wed, 27 Apr 2016 14:14:50 +0200 Subject: Fix highlighting tokens after newline predated by '=' --- src/dotty/tools/dotc/repl/SyntaxHighlighter.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/dotty/tools/dotc/repl/SyntaxHighlighter.scala') diff --git a/src/dotty/tools/dotc/repl/SyntaxHighlighter.scala b/src/dotty/tools/dotc/repl/SyntaxHighlighter.scala index edb0ba040..527bcffc2 100644 --- a/src/dotty/tools/dotc/repl/SyntaxHighlighter.scala +++ b/src/dotty/tools/dotc/repl/SyntaxHighlighter.scala @@ -38,7 +38,7 @@ object SyntaxHighlighting { 'q' :: 'r' :: 's' :: 't' :: 'u' :: 'v' :: 'w' :: 'x' :: 'y' :: 'z' :: Nil private val typeEnders = - '{' :: '}' :: ')' :: '(' :: '=' :: ' ' :: ',' :: '.' :: Nil + '{' :: '}' :: ')' :: '(' :: '=' :: ' ' :: ',' :: '.' :: '\n' :: Nil def apply(chars: Iterable[Char]): Vector[Char] = { var prev: Char = 0 @@ -46,7 +46,7 @@ object SyntaxHighlighting { val newBuf = new StringBuilder @inline def keywordStart = - prev == 0 || prev == ' ' || prev == '{' || prev == '(' + prev == 0 || prev == ' ' || prev == '{' || prev == '(' || prev == '\n' @inline def numberStart(c: Char) = c.isDigit && (!prev.isLetter || prev == '.' || prev == ' ' || prev == '(' || prev == '\u0000') @@ -224,7 +224,7 @@ object SyntaxHighlighting { def append(c: Char, shouldHL: String => Boolean, highlight: String => String) = { var curr: Char = 0 val sb = new StringBuilder(s"$c") - while (remaining.nonEmpty && curr != ' ' && curr != '(') { + while (remaining.nonEmpty && curr != ' ' && curr != '(' && curr != '\n') { curr = takeChar() if (curr != ' ') sb += curr } -- cgit v1.2.3