关于为内部 DSL 个性化 Scala REPL,来自create-your-custom-scala-repl
import scala.tools.nsc.Settings
import scala.tools.nsc.interpreter.ILoop
object TestConsole extends App {
val settings = new Settings
settings.usejavacp.value = true
settings.deprecation.value = true
new SampleILoop().process(settings)
}
class SampleILoop extends ILoop {
override def prompt = "myDSL $ "
addThunk {
intp.beQuietDuring {
intp.addImports("my.dsl._")
}
}
}
注意到addThunk
2.11.* 不支持。
因此如何加载myDSL.jar
或import my.dsl._
进入个性化的 REPL ?