Permalink
Browse files

Make the launcher initialize Jansi if it's found on the path

  • Loading branch information...
szeiger authored and indrajitr committed Jan 11, 2012
1 parent 710b125 commit 602e5e2f279f83181cd0b5f58537942c44ac6e1b
Showing with 15 additions and 2 deletions.
  1. +15 −2 launch/Boot.scala
View
@@ -16,6 +16,7 @@ object Boot
case _ =>
System.clearProperty("scala.home") // avoid errors from mixing Scala versions in the same JVM
CheckProxy()
+ initJansi()
run(args)
}
}
@@ -31,7 +32,7 @@ object Boot
catch
{
case b: BootException => errorAndExit(b.toString)
- case r: xsbti.RetrieveException => errorAndExit("Error: " + r.getMessage)
+ case r: xsbti.RetrieveException => errorAndExit("Error: " + r.getMessage)
case r: xsbti.FullReload => Some(r.arguments)
case e =>
e.printStackTrace
@@ -43,6 +44,18 @@ object Boot
System.out.println(msg)
exit(1)
}
- private def exit(code: Int): Nothing =
+ private def exit(code: Int): Nothing =
System.exit(code).asInstanceOf[Nothing]
+
+ private def initJansi() {
+ try {
+ val c = Class.forName("org.fusesource.jansi.AnsiConsole")
+ c.getMethod("systemInstall").invoke(null)
+ if (System.getProperty("sbt.log.format") eq null)
+ System.setProperty("sbt.log.format", "true")
+ } catch {
+ case ignore: ClassNotFoundException =>
+ case ex => println("Jansi found on class path but initialization failed: " + ex)
+ }
+ }
}

0 comments on commit 602e5e2

Please sign in to comment.