package terminal
- Alphabetic
- Public
- All
Type Members
- class AnsiNav extends AnyRef
- case class ClearScreen (ts: TermState) extends TermAction with Product with Serializable
-
abstract
class
DelegateFilter
extends Filter
A filter as an abstract class, letting you provide a filter instead of an
op
, automatically providing a good.toString
for debugging, and providing a reasonable "place" inside the inheriting class/object to put state or helpers or other logic associated with the filter. -
abstract
class
Enum
extends AnyRef
A small helper class to quickly define enumerations: extend this class in your companion object and define the items via
val a, b, c = Item(...)
passing in your enum class constructor in place of...
. -
trait
Filter
extends AnyRef
The way you configure your terminal behavior; a trivial wrapper around a function, though you should provide a good
.toString
method to make debugging easier.The way you configure your terminal behavior; a trivial wrapper around a function, though you should provide a good
.toString
method to make debugging easier. The TermInfo and TermAction types are its interface to the terminal.Filters are composed sequentially: if a filter returns
None
the next filter is tried, while if a filter returnsSome
that ends the cascade. While yourop
function interacts with the terminal purely through immutable case classes, the Filter itself is free to maintain its own state and mutate it whenever, even when returningNone
to continue the cascade. -
case class
LazyList
[T](headThunk: () ⇒ T, tailThunk: () ⇒ LazyList[T]) extends Product with Serializable
A truly-lazy implementation of scala.Stream
-
class
LineReader
extends AnyRef
Encapsulates the common configuration and logic around reading a single line of input
- case class Printing (ts: TermState, stdout: String) extends TermAction with Product with Serializable
- case class Prompt (full: Str, lastLine: Str) extends Product with Serializable
- case class Result (s: String) extends TermAction with Product with Serializable
-
case class
Strings
(values: Seq[String]) extends Product with Serializable
Implicitly instantiated class letting you pass in a single string or a sequence of strings anywhere a set of prefixes is required
- sealed trait TermAction extends AnyRef
- case class TermInfo (ts: TermState, width: Int) extends Product with Serializable
- case class TermState (inputs: LazyList[Int], buffer: Vector[Char], cursor: Int, msg: Str = "") extends TermAction with Product with Serializable
Value Members
- object AnsiNav
-
object
Debug
Prints stuff to an ad-hoc logging file when running the ammonite repl or ammonite-terminal in development mode in its SBT project.
Prints stuff to an ad-hoc logging file when running the ammonite repl or ammonite-terminal in development mode in its SBT project.
Very handy for the common case where you're debugging terminal interactions and cannot use
println
because it will stomp all over your already messed up terminal state and block debugging. With Debug, you can have a separate terminal open tailing the log file and log as verbosely as you want without affecting the primary terminal you're using to interact with Ammonite. - object Exit extends TermAction with Product with Serializable
-
object
Filter
Convenience constructors to create Filter instances in a bunch of different ways
-
object
FilterTools
A collection of helpers that to simpify the common case of building filters
- object LazyList extends Serializable
- object LineReader
- object Prompt extends Serializable
-
object
SpecialKeys
One place to assign all the esotic control key input snippets to easy-to-remember names
- object Strings extends Serializable
- object TTY
- object TermState extends Serializable
-
object
Terminal
The core logic around a terminal; it defines the base
filters
API through which anything (including basic cursor-navigation and typing) interacts with the terminal.The core logic around a terminal; it defines the base
filters
API through which anything (including basic cursor-navigation and typing) interacts with the terminal.Maintains basic invariants, such as "cursor should always be within the buffer", and "ansi terminal should reflect most up to date TermState"