Main

ammonite.Main
See theMain companion object
case class Main(predefCode: String, predefFile: Option[Path], defaultPredef: Boolean, storageBackend: Storage, wd: Path, welcomeBanner: Option[String], inputStream: InputStream, outputStream: OutputStream, errorStream: OutputStream, verboseOutput: Boolean, remoteLogging: Boolean, colors: Colors, replCodeWrapper: CodeWrapper, scriptCodeWrapper: CodeWrapper, alreadyLoadedDependencies: Seq[Dependency], importHooks: Map[Seq[String], ImportHook], compilerBuilder: CompilerBuilder, parser: () => Parser, classPathWhitelist: Set[Seq[String]], warnings: Boolean)

Contains the various entry points to the Ammonite REPL.

Configuration of the basic REPL is done by passing in arguments when constructing the Main instance, and the various entrypoints such as run runScript and so on are methods on that instance.

It is more or less equivalent to the ammonite.repl.Repl object itself, and has a similar set of parameters, but does not have any of the ammonite.repl.Repl's implementation-related code and provides a more convenient set of entry-points that a user can call.

Note that the instantiateRepl function generates a new Repl every time it is called!

Value parameters

defaultPredef

Do you want to include the "standard" predef imports provided by Ammonite? These include tools like time, grep, the | or |? pipes from ammonite-ops, and other helpers. Can be disabled to give a clean namespace for you to fill using your own predef.

errorStream

Error output when things go bad, typically System.err; also gets sent miscellaneous info messages that aren't strictly part of the REPL or script's output

inputStream

Where input to the Repl is coming from, typically System.in, but it could come from somewhere else e.g. across the network in the case of the SshdRepl

outputStream

Primary output of code run using Ammonite

predefCode

Any additional code you want to run before the REPL session starts. Can contain multiple blocks separated by @s

storageBackend

Where will all of Ammonite's persistent data get stored? Things like any predef.sc file, compilation/ivy caches, etc.. Defaults include Storage.Folder and Storage.InMemory, though you can create your own.

wd

The working directory of the REPL; when it load scripts, where the scripts will be considered relative to when assigning them packages

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def initialClassLoader: ClassLoader
def instantiateInterpreter(): Either[(Failing, Seq[(Watchable, Long)]), Interpreter]
def instantiateRepl(replArgs: IndexedSeq[Bind[_]]): Either[(Failure, Seq[(Path, Long)]), Repl]

Instantiates an ammonite.Repl using the configuration

Instantiates an ammonite.Repl using the configuration

Attributes

def loadedPredefFile: Either[(Failure, Seq[(Path, Long)]), Some[PredefInfo] | None.type]
def run(replArgs: Bind[_]*): (Res[Any], Seq[(Watchable, Long)])

Run the REPL, with any additional bindings you wish to provide.

Run the REPL, with any additional bindings you wish to provide.

Returns an Any representing any value that the user passed into the exit call when closing the REPL (defaults to (): Unit). Also returns a sequence of paths that were watched as a result of this REPL run, in case you wish to re-start the REPL when any of them change.

Attributes

def runCode(code: String): (Res[Imports], Seq[(Watchable, Long)])

Run a snippet of code

Run a snippet of code

Attributes

def runScript(path: Path, scriptArgs: Seq[String]): (Res[Any], Seq[(Watchable, Long)])

Run a Scala script file! takes the path to the file as well as an array of args and a map of keyword kwargs to pass to that file.

Run a Scala script file! takes the path to the file as well as an array of args and a map of keyword kwargs to pass to that file.

Attributes

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product