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.
Exception for reporting script compilation failures
Represents the importing of a single name in the Ammonite REPL, of the form
Represents the importing of a single name in the Ammonite REPL, of the form
import $prefix.{$fromName => $toName}
All imports are reduced to this form; import $prefix.$name
is results in
the fromName
and toName
being the same, while import $prefix._
or
import $prefix.{foo, bar, baz}
are split into multiple distinct
ImportData objects.
Note that imports can be of one of three distinct ImportType
s: importing
a type, a term, or both. This lets us properly deal with shadowing correctly
if we import the type and term of the same name from different places
Represents the imports that occur before a piece of user code in the Ammonite REPL.
Represents the imports that occur before a piece of user code in the
Ammonite REPL. It's basically a Seq[ImportData]
, except we really want
it to be always in a "canonical" form without shadowed/duplicate imports.
Thus we only expose an apply
method which performs this de-duplication,
and a ++
operator that combines two sets of imports while performing
de-duplication.
Represents a single identifier in Scala source code, e.g.
Represents a single identifier in Scala source code, e.g. "scala" or
"println" or "Hello-World
".
Holds the value "raw", with all special characters intact, e.g.
"Hello-World". Can be used backticked e.g. "Hello-World
", useful for
embedding in Scala source code, or encoded e.g. "Hello$minusWorld",
useful for accessing names as-seen-from the Java/JVM side of thigns
Information about a particular predef file or snippet.
Information about a particular predef file or snippet. hardcoded represents whether or not we cache the snippet forever regardless of classpath, which is true for many "internal" predefs which only do imports from Ammonite's own packages and don't rely on external code
Encapsulates the ways the Ammonite REPL prints things.
Encapsulates the ways the Ammonite REPL prints things. Does not print a trailing newline by default; you have to add one yourself.
Direct access to print to stdout
Direct access to print to stderr
Direct access to print the result of the entered code
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
as out
, which is used to print runtime output.
The result of a single pass through the ammonite REPL.
The result of a single pass through the ammonite REPL. Results in a single T, or of one of a fixed number of failures that are common for anyone who is evaluating code via the REPL.
The serialized output of running a script, including both metadata and the classfile binaries
Encapsulates a read-write cell that can be passed around
A unique key for a piece of code that gets run in a particular environment; contains the hash of the code and the hash of the environment stored separately, so you can e.g.
A unique key for a piece of code that gets run in a particular environment; contains the hash of the code and the hash of the environment stored separately, so you can e.g. compare the env hash even if you don't have the code available
Nice pattern matching for chained exceptions
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