Used to capture the names in scope after every execution, reporting them
to the output
function.
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.
A set of colors used to highlight the miscellanious bits of the REPL. Re-used all over the place in PPrint, TPrint, syntax highlighting, command-echoes, etc. in order to keep things consistent
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
Whatever is necessary to get rid of residual coloring
Encapsulates (almost) all the ickiness of Scalac so it doesn't leak into the rest of the codebase.
Encapsulates (almost) all the ickiness of Scalac so it doesn't leak into the rest of the codebase. Makes use of a good amount of mutable state for things like the log-output-forwarder or compiler-plugin-output because These things are hard-coded into Scalac and can't be passed in from run to run.
Turns source-strings into the bytes of classfiles, possibly more than one classfile per source-string (e.g. inner classes, or lambdas). Also lets you query source strings using an in-built presentation compiler
Nice wrapper for the presentation compiler.
The result of a single pass through the ammonite REPL.
Encapsulates a read-write cell that can be passed around
Nice pattern matching for chained exceptions
Used to capture the names in scope after every execution, reporting them to the
output
function. Needs to be a compiler plugin so we can hook in immediately after thetyper