summaryrefslogtreecommitdiff
path: root/src/repl/scala/tools/nsc/interpreter/ReplReporter.scala
diff options
context:
space:
mode:
authorBrian McKenna <brian@simpleenergy.com>2014-09-24 18:56:54 -0600
committerBrian McKenna <brian@simpleenergy.com>2014-09-24 18:56:54 -0600
commit8a560a2806ca28b5dbd913df34d56f4b8aebb4c0 (patch)
tree5087308b8852b0749a3e0c1fe8c025e20e7a509b /src/repl/scala/tools/nsc/interpreter/ReplReporter.scala
parent9902ae5eca9ae52410231d42a8c96df9454034f4 (diff)
downloadscala-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/repl/scala/tools/nsc/interpreter/ReplReporter.scala')
-rw-r--r--src/repl/scala/tools/nsc/interpreter/ReplReporter.scala18
1 files changed, 18 insertions, 0 deletions
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.