是否可以通过编程方式更改Scala REPL的提示?

时间:2013-03-07 10:57:14

标签: scala read-eval-print-loop

我想更改Scala REPL的提示。我发现我可以在电源模式下更改提示,如下所示。

scala> 

scala> :power
** Power User mode enabled - BEEP WHIR GYVE **
** :phase has been set to 'typer'.          **
** scala.tools.nsc._ has been imported      **
** global._, definitions._ also imported    **
** Try  :help, :vals, power.<tab>           **

scala> repl.setPrompt("\ncool prompt!> ")

cool prompt!> 

现在我想在普通模式或sbt控制台的initialCommands中执行此操作。有谁知道怎么做?

1 个答案:

答案 0 :(得分:8)

Scala 2.10.0

$intp.asInstanceOf[scala.tools.nsc.interpreter.ILoop$ILoopInterpreter]
     .getClass
     .getDeclaredField("$outer").get($intp)
     .asInstanceOf[scala.tools.nsc.interpreter.ILoop]
     .setPrompt("\ncool prompt!> ")