Guest User

Untitled

a guest
May 21st, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1.  
  2. package shortrepl
  3.  
  4. import scala.tools.nsc._
  5. import java.io.{Writer, PrintWriter}
  6.  
  7. class NullWriter extends Writer
  8. {
  9. def close() {}
  10. def write(b : Array[Char], o : Int, l : Int) {}
  11. def flush() {}
  12. }
  13.  
  14. class LatchPrintWriter extends PrintWriter(new NullWriter)
  15. {
  16. def enable() {
  17. out = new PrintWriter(Console.out)
  18. }
  19. }
  20.  
  21. class QuietLoop(out : LatchPrintWriter) extends InterpreterLoop(None, out)
  22. {
  23. override def loadFiles(settings: Settings) = settings match {
  24. case settings: GenericRunnerSettings =>
  25. val args = settings.loadfiles.value.foldLeft (Set.empty[String]) (_ + _)
  26. args foreach interpretAllFrom
  27. case _ =>
  28. }
  29.  
  30. override def printWelcome = out enable
  31. }
  32.  
  33. object QuietLoop {
  34. def apply() = new QuietLoop(new LatchPrintWriter)
  35. }
  36.  
  37. object ShortRepl extends Application {
  38. override def main(args : Array[String]) =
  39. QuietLoop().main(new GenericRunnerCommand(args.toList, println) settings)
  40. }
Add Comment
Please, Sign In to add comment