diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-09-18 08:45:29 +0200 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2016-10-10 13:25:34 +0200 |
commit | 628b7f317756ce2c366359a7399b8dda9d0190b7 (patch) | |
tree | da64dc5eb15095287272a616f43ad56afaba3763 /src/dotty/tools/dotc/printing/SyntaxHighlighting.scala | |
parent | 787a2ceec02fe07fbb9efee673d3abb7cac2969e (diff) | |
download | dotty-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.scala | 13 |
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 |