Models a binding of a value to a typed name, and is passed into the REPL so it can re-create the bindings inside the REPL's scope
Fake for-comprehension generator to catch errors and turn them into Res.Failures
A set of colors used to highlight the miscellanious bits of the REPL.
The command prompt
Definition of top-level identifiers
Strings, integers and other literal expressions
The Seq/Foo when printing a Seq(...) or case class Foo(...)
The color of text selected in the line-editor
The color used to print error messages of all kinds
Exception for reporting script compilation failures
Represents the importing of a single name in the Ammonite REPL, of the form
Represents the imports that occur before a piece of user code in the Ammonite REPL.
Contains the various entry points to the Ammonite REPL.
Any additional code you want to run before the REPL session
starts. Can contain multiple blocks separated by
Do you want to include the "standard" predef imports
provided by Ammonite? These include tools like
|? pipes from ammonite-ops, and
other helpers. Can be disabled to give a clean
namespace for you to fill using your own predef.
Where will all of Ammonite's persistent data get
stored? Things like any
compilation/ivy caches, etc.. Defaults include
Storage.Folder and Storage.InMemory, though
you can create your own.
The working directory of the REPL; when it load scripts, where the scripts will be considered relative to when assigning them packages
Encapsulates the ways the Ammonite REPL prints things.
How you want it to print streaming fragments of stdout
How you want it to print a compile warning
How you want it to print a compile error
How you want to print compile info logging. *Not* the same
out, which is used to print runtime output.
The result of a single pass through the ammonite REPL.
Encapsulates a read-write cell that can be passed around
Trait for the interface of common persistent storage.
Nice pattern matching for chained exceptions
Code used to de-serialize command-line arguments when calling an Ammonite script.
Everything to do with the interaction of the Ammonite REPL with the user and the terminal.
What actually lets us compile and execute code in the Ammonite REPL; deals with the Scala compiler, preprocessing the strings, JVM classloaders, etc.
Things that are available inside the Ammonite REPL, are really convenient to have available.