Skip to content
Effect Days 2026 Get your ticket

HelpDoc

27 exports Added in v1.0.0 Source

Combinators

orElse

Added in v1.0.0 Source

Signature

declare const orElse: {
(that: HelpDoc): (self: HelpDoc) => HelpDoc;
(self: HelpDoc, that: HelpDoc): HelpDoc;
}

sequence

Added in v1.0.0 Source

Signature

declare const sequence: {
(that: HelpDoc): (self: HelpDoc) => HelpDoc;
(self: HelpDoc, that: HelpDoc): HelpDoc;
}

Constructors

blocks

Added in v1.0.0 Source

Signature

declare const blocks: (helpDocs: Iterable<HelpDoc>) => HelpDoc

Signature

declare const descriptionList: (definitions: NonEmptyReadonlyArray<[Span, HelpDoc]>) => HelpDoc

empty

Added in v1.0.0 Source

Signature

declare const empty: HelpDoc

enumeration

Added in v1.0.0 Source

Signature

declare const enumeration: (elements: NonEmptyReadonlyArray<HelpDoc>) => HelpDoc

h1

Added in v1.0.0 Source

Signature

declare const h1: (value: string | Span) => HelpDoc

h2

Added in v1.0.0 Source

Signature

declare const h2: (value: string | Span) => HelpDoc

h3

Added in v1.0.0 Source

Signature

declare const h3: (value: string | Span) => HelpDoc

p

Added in v1.0.0 Source

Signature

declare const p: (value: string | Span) => HelpDoc

Getters

getSpan

Added in v1.0.0 Source

Signature

declare const getSpan: (self: HelpDoc) => Span

Mapping

Signature

declare const mapDescriptionList: {
(f: (span: Span, helpDoc: HelpDoc) => [Span, HelpDoc]): (self: HelpDoc) => HelpDoc;
(self: HelpDoc, f: (span: Span, helpDoc: HelpDoc) => [Span, HelpDoc]): HelpDoc;
}

Models

DescriptionList interface

Added in v1.0.0 Source

Signature

interface DescriptionList {
readonly _tag: "DescriptionList";
readonly definitions: readonly [readonly [Span, HelpDoc], readonly [Span, HelpDoc]];
}

Empty interface

Added in v1.0.0 Source

Signature

interface Empty {
readonly _tag: "Empty";
}

Enumeration interface

Added in v1.0.0 Source

Signature

interface Enumeration {
readonly _tag: "Enumeration";
readonly elements: readonly [HelpDoc, HelpDoc];
}

HelpDoc type

Added in v1.0.0 Source

A HelpDoc models the full documentation for a command-line application.

HelpDoc is composed of optional header and footers, and in-between, a list of HelpDoc-level content items.

HelpDoc-level content items, in turn, can be headers, paragraphs, description lists, and enumerations.

A HelpDoc can be converted into plaintext, JSON, and HTML.

Signature

type HelpDoc = Empty | Header | Paragraph | DescriptionList | Enumeration | Sequence

Paragraph interface

Added in v1.0.0 Source

Signature

interface Paragraph {
readonly _tag: "Paragraph";
readonly value: Span;
}

Sequence interface

Added in v1.0.0 Source

Signature

interface Sequence {
readonly _tag: "Sequence";
readonly left: HelpDoc;
readonly right: HelpDoc;
}

Refinements

Signature

declare const isDescriptionList: (helpDoc: HelpDoc) => helpDoc is DescriptionList

isEmpty

Added in v1.0.0 Source

Signature

declare const isEmpty: (helpDoc: HelpDoc) => helpDoc is Empty

Signature

declare const isEnumeration: (helpDoc: HelpDoc) => helpDoc is Enumeration

isHeader

Added in v1.0.0 Source

Signature

declare const isHeader: (helpDoc: HelpDoc) => helpDoc is Header

isParagraph

Added in v1.0.0 Source

Signature

declare const isParagraph: (helpDoc: HelpDoc) => helpDoc is Paragraph

isSequence

Added in v1.0.0 Source

Signature

declare const isSequence: (helpDoc: HelpDoc) => helpDoc is Sequence

Rendering

toAnsiDoc

Added in v1.0.0 Source

Signature

declare const toAnsiDoc: (self: HelpDoc) => AnsiDoc

toAnsiText

Added in v1.0.0 Source

Signature

declare const toAnsiText: (self: HelpDoc) => string