diff options
author | Brian McKenna <brian@simpleenergy.com> | 2014-09-24 18:56:54 -0600 |
---|---|---|
committer | Brian McKenna <brian@simpleenergy.com> | 2014-09-24 18:56:54 -0600 |
commit | 8a560a2806ca28b5dbd913df34d56f4b8aebb4c0 (patch) | |
tree | 5087308b8852b0749a3e0c1fe8c025e20e7a509b /src | |
parent | 9902ae5eca9ae52410231d42a8c96df9454034f4 (diff) | |
download | scala-8a560a2806ca28b5dbd913df34d56f4b8aebb4c0.tar.gz scala-8a560a2806ca28b5dbd913df34d56f4b8aebb4c0.tar.bz2 scala-8a560a2806ca28b5dbd913df34d56f4b8aebb4c0.zip |
Add color to severity in REPL reporter
* Errors are red
* Warnings are yellow
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala | 2 | ||||
-rw-r--r-- | src/repl/scala/tools/nsc/interpreter/ReplReporter.scala | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala b/src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala index 0b218b711c..5bf611a7b0 100644 --- a/src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala +++ b/src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala @@ -29,7 +29,7 @@ class ConsoleReporter(val settings: Settings, reader: BufferedReader, writer: Pr case INFO => null } - private def clabel(severity: Severity): String = { + protected def clabel(severity: Severity): String = { val label0 = label(severity) if (label0 eq null) "" else label0 + ": " } diff --git a/src/repl/scala/tools/nsc/interpreter/ReplReporter.scala b/src/repl/scala/tools/nsc/interpreter/ReplReporter.scala index 88372334d6..e6f5a4089e 100644 --- a/src/repl/scala/tools/nsc/interpreter/ReplReporter.scala +++ b/src/repl/scala/tools/nsc/interpreter/ReplReporter.scala @@ -32,6 +32,24 @@ class ReplReporter(intp: IMain) extends ConsoleReporter(intp.settings, Console.i override def warning(pos: Position, msg: String): Unit = withoutTruncating(super.warning(pos, msg)) override def error(pos: Position, msg: String): Unit = withoutTruncating(super.error(pos, msg)) + import scala.io.AnsiColor.{ RED, YELLOW, RESET } + + def severityColor(severity: Severity): String = severity match { + case ERROR => RED + case WARNING => YELLOW + case INFO => RESET + } + + override def print(pos: Position, msg: String, severity: Severity) { + val prefix = ( + if (replProps.colorOk) + severityColor(severity) + clabel(severity) + RESET + else + clabel(severity) + ) + printMessage(pos, prefix + msg) + } + override def printMessage(msg: String) { // Avoiding deadlock if the compiler starts logging before // the lazy val is complete. |