Skip to content

Terminal

6 exports Added in v1.0.0 Source

Model

Key interface

Added in v1.0.0 Source

Signature

interface Key {
  readonly ctrl: boolean;
  readonly meta: boolean;
  readonly name: string;
  readonly shift: boolean;
}

A QuitException represents an exception that occurs when a user attempts to quit out of a Terminal prompt for input (usually by entering ctrl+c).

Signature

declare class QuitException extends YieldableError<this> & {
  readonly _tag: "QuitException";
} & Readonly<{}> {
  constructor(args: void);
}

UserInput interface

Added in v1.0.0 Source

Signature

interface UserInput {
  readonly input: Option<string>;
  readonly key: Key;
}

Models

Terminal interface

Added in v1.0.0 Source

A Terminal represents a command-line interface which can read input from a user and display messages to a user.

Signature

interface Terminal {
  readonly columns: Effect<number>;
  readonly display: (text: string) => Effect<void, PlatformError>;
  readonly isTTY: Effect<boolean>;
  readonly readInput: Effect<ReadonlyMailbox<UserInput>, never, Scope>;
  readonly readLine: Effect<string, QuitException>;
  readonly rows: Effect<number>;
}

Refinements

Signature

declare function isQuitException(u: unknown): u is QuitException;

Tag

Terminal

Added in v1.0.0 Source

Signature

declare const Terminal: Tag<Terminal, Terminal>;