package dotty.tools.dotc.repl.ammonite.terminal

Constructors

Members

[+] final object Ansi
[+] class AnsiNav
[+] final object AnsiNav
[+] case class ClearScreen
[+] final object ClearScreen
[+] final object Debug

Prints stuff to an ad-hoc logging file when running the repl or terminal in development mode

Very handy for the common case where you're debugging termi... [Debug]

Prints stuff to an ad-hoc logging file when running the repl or terminal in development mode

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.

[+] abstract class DelegateFilter

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

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.

[+] final object Exit
[+] final object Filter
[+] trait Filter

The way you configure your terminal behavior; a trivial wrapper around a function, though you should provide a good .toString method to make debugging e...[TermInfo][TermAction]

[Filter]

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.

[[Filter]]s are composed sequentially: if a filter returns None the next filter is tried, while if a filter returns Some that ends the cascade. While your op 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 returning None to continue the cascade.

[+] final object FilterTools

A collection of helpers that to simpify the common case of building filters

A collection of helpers that to simpify the common case of building filters

[+] case class LazyList

A truly-lazy implementation of scala.Stream

A truly-lazy implementation of scala.Stream

[+] final object LazyList
[+] case class Printing
[+] final object Printing
[+] case class Prompt
[+] final object Prompt
[+] case class Result
[+] final object Result
[+] final object SpecialKeys

One place to assign all the esotic control key input snippets to easy-to-remember names

One place to assign all the esotic control key input snippets to easy-to-remember names

[+] final object TTY
[+] sealed trait TermAction
[+] case class TermInfo
[+] final object TermInfo
[+] case class TermState
[+] final object TermState
[+] final 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 t...

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"