Embed a Scala interpreter in your application with scaladon
.
See li.pika.scaladon.Main
for an example of how to use the
li.pika.scaladon.Engine
.
:; sbt assembly
...
[success] Total time: 12 s, completed Jul 7, 2017 8:03:11 PM
:; java -jar target/scala-*/uber.jar
Welcome to Scala 2.12.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_102).
Type in expressions for evaluation. Or try :help.
scala> val task = li.pika.scaladon.tasks.Task.settings()
task: scala.tools.nsc.Settings =
Settings {
-nc = true
-d = .
-deprecation = true
-usejavacp = true
-feature = true
}
The li.pika.scaladon.Engine
allows one to set three settings:
case class Engine(bindings: Bindings = new SimpleBindings(),
prompt: Option[String] = None,
welcome: Option[String] = None) { ... }
The bindings
apply for scripts while the prompt
and welcome
apply to the
interactive interpreter. (At present, scaladon
is not able to set bindings
for the interactive interpreter.)