Packages

  • package root
    Definition Classes
    root
  • package ammonite
    Definition Classes
    root
  • package main

    Code related to invoking Ammonite from the outside world: default configuration, running scripts, printing error messages, etc.

    Code related to invoking Ammonite from the outside world: default configuration, running scripts, printing error messages, etc.

    Definition Classes
    ammonite
  • AmmoniteMain
  • Main
  • MainRunner

case class Main(predefCode: String = "", predefFile: Option[Path] = None, defaultPredef: Boolean = true, storageBackend: Storage = new Storage.Folder(Defaults.ammoniteHome), wd: Path = os.pwd, welcomeBanner: Option[String] = Some(Defaults.welcomeBanner), inputStream: InputStream = System.in, outputStream: OutputStream = System.out, errorStream: OutputStream = System.err, verboseOutput: Boolean = true, remoteLogging: Boolean = true, colors: Colors = Colors.Default, replCodeWrapper: CodeWrapper = DefaultCodeWrapper, scriptCodeWrapper: CodeWrapper = DefaultCodeWrapper, alreadyLoadedDependencies: Seq[Dependency] = Defaults.alreadyLoadedDependencies(), importHooks: Map[Seq[String], ImportHook] = ImportHook.defaults, compilerBuilder: CompilerBuilder = ammonite.compiler.CompilerBuilder, parser: () => Parser = () => ammonite.compiler.Parsers, classPathWhitelist: Set[Seq[String]] = Set.empty) extends Product with Serializable

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!

predefCode

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

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.

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

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

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

Linear Supertypes
Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Main
  2. Serializable
  3. Product
  4. Equals
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Main(predefCode: String = "", predefFile: Option[Path] = None, defaultPredef: Boolean = true, storageBackend: Storage = new Storage.Folder(Defaults.ammoniteHome), wd: Path = os.pwd, welcomeBanner: Option[String] = Some(Defaults.welcomeBanner), inputStream: InputStream = System.in, outputStream: OutputStream = System.out, errorStream: OutputStream = System.err, verboseOutput: Boolean = true, remoteLogging: Boolean = true, colors: Colors = Colors.Default, replCodeWrapper: CodeWrapper = DefaultCodeWrapper, scriptCodeWrapper: CodeWrapper = DefaultCodeWrapper, alreadyLoadedDependencies: Seq[Dependency] = Defaults.alreadyLoadedDependencies(), importHooks: Map[Seq[String], ImportHook] = ImportHook.defaults, compilerBuilder: CompilerBuilder = ammonite.compiler.CompilerBuilder, parser: () => Parser = () => ammonite.compiler.Parsers, classPathWhitelist: Set[Seq[String]] = Set.empty)

    predefCode

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

    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.

    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

    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

    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

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val alreadyLoadedDependencies: Seq[Dependency]
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. val classPathWhitelist: Set[Seq[String]]
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  8. val colors: Colors
  9. val compilerBuilder: CompilerBuilder
  10. val defaultPredef: Boolean
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. val errorStream: OutputStream
  13. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. val importHooks: Map[Seq[String], ImportHook]
  16. def initialClassLoader: ClassLoader
  17. val inputStream: InputStream
  18. def instantiateInterpreter(): Either[(Failing, Seq[(Watchable, Long)]), Interpreter]
  19. def instantiateRepl(replArgs: IndexedSeq[Bind[_]] = Vector.empty): Either[(Failure, Seq[(Path, Long)]), Repl]

    Instantiates an ammonite.Repl using the configuration

  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. def loadedPredefFile: Either[(Failure, Seq[(Path, Long)]), Option[PredefInfo]]
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. val outputStream: OutputStream
  26. val parser: () => Parser
  27. val predefCode: String
  28. val predefFile: Option[Path]
  29. def productElementNames: Iterator[String]
    Definition Classes
    Product
  30. val replCodeWrapper: CodeWrapper
  31. 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.

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

    Run a snippet of code

  33. 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.

  34. val scriptCodeWrapper: CodeWrapper
  35. val storageBackend: Storage
  36. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  37. val verboseOutput: Boolean
  38. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  40. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  41. val wd: Path
  42. val welcomeBanner: Option[String]

Deprecated Value Members

  1. val remoteLogging: Boolean
    Annotations
    @deprecated
    Deprecated

    (Since version Ammonite 2.3.0) remoteLogging has been removed, do not use this field

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped