aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2016-09-18 08:45:29 +0200
committerFelix Mulder <felix.mulder@gmail.com>2016-10-10 13:25:34 +0200
commit628b7f317756ce2c366359a7399b8dda9d0190b7 (patch)
treeda64dc5eb15095287272a616f43ad56afaba3763 /src/dotty/tools/dotc/printing/SyntaxHighlighting.scala
parent787a2ceec02fe07fbb9efee673d3abb7cac2969e (diff)
downloaddotty-628b7f317756ce2c366359a7399b8dda9d0190b7.tar.gz
dotty-628b7f317756ce2c366359a7399b8dda9d0190b7.tar.bz2
dotty-628b7f317756ce2c366359a7399b8dda9d0190b7.zip
Make `FancyConsoleReporter` and `Highlighting` obey color setting
Fancy console reporter and the string interpolator for highlighting now obey the color setting - this means that the next step towards unifying the reporters is to make sure the tests work with `FancyConsoleReporter` under the `-color:never` flag.
Diffstat (limited to 'src/dotty/tools/dotc/printing/SyntaxHighlighting.scala')
-rw-r--r--src/dotty/tools/dotc/printing/SyntaxHighlighting.scala13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala b/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala
index d94f6796d..95e59ccf3 100644
--- a/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala
+++ b/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala
@@ -6,14 +6,23 @@ import parsing.Tokens._
import scala.annotation.switch
import scala.collection.mutable.StringBuilder
import core.Contexts.Context
+import Highlighting.{Highlight, HighlightBuffer}
/** This object provides functions for syntax highlighting in the REPL */
object SyntaxHighlighting {
implicit class SyntaxFormatting(val sc: StringContext) extends AnyVal {
def hl(args: Any*)(implicit ctx: Context): String =
- if (ctx.settings.color.value == "never") sc.s(args: _*)
- else sc.s(args.map(x => new String(apply(x.toString).toArray)): _*)
+ sc.s(args.map ({
+ case hl: Highlight =>
+ hl.show
+ case hb: HighlightBuffer =>
+ hb.toString
+ case x if ctx.settings.color.value != "never" =>
+ new String(apply(x.toString).toArray)
+ case x =>
+ x.toString
+ }): _*)
}
val NoColor = Console.RESET