Skip to content

Hex1b.Automation ​

Assembly: Hex1b.dll

Classes ​

AutomationStepRecord ​

Immutable record of a completed automation step. Used by to track step history for diagnostic purposes.

csharp
public sealed record AutomationStepRecord : IEquatable<AutomationStepRecord>

BmpEncoder ​

Encodes raw pixel data to BMP format for embedding in SVG as data URIs.

csharp
public static class BmpEncoder

CellMatchContext ​

Context provided to cell predicates during pattern matching. Contains information about the current position, cell, and match state.

csharp
public sealed class CellMatchContext

CellPatternMatch ​

Represents a successful pattern match containing all traversed cells and capture information.

csharp
public sealed class CellPatternMatch

CellPatternSearcher ​

A fluent builder for describing patterns of terminal cells. Patterns can match based on character content, cell attributes, colors, and spatial relationships. The searcher is immutable - all methods return new instances, making patterns safe to reuse and compose.

csharp
public sealed class CellPatternSearcher

CellPatternSearchResult ​

Collection of all pattern matches found in a search.

csharp
public sealed class CellPatternSearchResult

Hex1bAutomationException ​

Exception thrown by when an automation step fails. Includes rich diagnostic information including the full step history, terminal snapshot, and source location to help pinpoint the failure.

csharp
public sealed class Hex1bAutomationException : Exception, ISerializable

Hex1bTerminalAutomator ​

Provides an imperative, async API for automating terminal interactions in tests. Each method executes immediately and records its result in a step history, providing rich diagnostic context when failures occur.

csharp
public sealed class Hex1bTerminalAutomator

Hex1bTerminalInputSequence ​

A sequence of test steps that can be applied to a terminal. Built using .

csharp
public sealed class Hex1bTerminalInputSequence

Hex1bTerminalInputSequenceBuilder ​

Fluent builder for creating test sequences to simulate user interaction.

csharp
public sealed class Hex1bTerminalInputSequenceBuilder

Hex1bTerminalInputSequenceOptions ​

Options for configuring test sequence execution.

csharp
public sealed class Hex1bTerminalInputSequenceOptions

Hex1bTerminalRegionExtensions ​

Extension methods for providing common text operations.

csharp
public static class Hex1bTerminalRegionExtensions

Hex1bTerminalSnapshot ​

An immutable snapshot of terminal state at a point in time. Used for assertions and wait conditions in test sequences.

csharp
public sealed class Hex1bTerminalSnapshot : IHex1bTerminalRegion, IDisposable

Hex1bTerminalSnapshotRegion ​

A lightweight view into a terminal snapshot that provides localized coordinates. The region translates local (0,0)-based coordinates to the absolute position in the snapshot.

csharp
public sealed class Hex1bTerminalSnapshotRegion : IHex1bTerminalRegion

KeyInputStep ​

A step that sends a single key event.

csharp
public sealed record KeyInputStep : TestStep, IEquatable<TestStep>, IEquatable<KeyInputStep>

MouseInputStep ​

A step that sends a mouse event at a specific position.

csharp
public sealed record MouseInputStep : TestStep, IEquatable<TestStep>, IEquatable<MouseInputStep>

SixelDecoder ​

Decodes Sixel graphics data to raw pixel arrays for SVG rendering.

csharp
public static class SixelDecoder

SixelImage ​

Represents a decoded Sixel image as RGBA pixel data.

csharp
public sealed class SixelImage

TapeArtifact ​

Describes a generated playback artifact.

csharp
public sealed record TapeArtifact : IEquatable<TapeArtifact>

TapeCaptureOptions ​

Selects playback artifacts without changing the Tape language.

csharp
public sealed class TapeCaptureOptions

TapeChordCommand ​

Represents a Ctrl, Alt, or Shift instruction and its ordered operands.

csharp
public sealed record TapeChordCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeChordCommand>

TapeCommand ​

Represents an immutable Tape instruction, including application-defined instructions.

csharp
public abstract record TapeCommand : IEquatable<TapeCommand>

TapeCommandResult ​

Contains either a command's input-sequence builder or an error that prevents playback.

csharp
public sealed class TapeCommandResult

TapeCopyCommand ​

Declares text to copy without accessing a clipboard.

csharp
public sealed record TapeCopyCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeCopyCommand>

TapeDiagnostic ​

Describes a problem encountered while parsing or executing a Tape document.

csharp
public sealed record TapeDiagnostic : IEquatable<TapeDiagnostic>

TapeDocument ​

Contains an editable sequence of Tape instructions.

csharp
public sealed class TapeDocument

TapeDurationLiteral ​

Retains a duration without requiring runtime conversion.

csharp
public sealed record TapeDurationLiteral : IEquatable<TapeDurationLiteral>

TapeEnvCommand ​

Declares an environment variable without changing the process environment.

csharp
public sealed record TapeEnvCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeEnvCommand>

TapeExecutionResult ​

Owns the final snapshot and describes completed playback.

csharp
public sealed class TapeExecutionResult : IDisposable

TapeExtensionCommand ​

Represents a custom keyword and its deferred playback-result callback.

csharp
public sealed record TapeExtensionCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeExtensionCommand>

TapeHideCommand ​

Declares the beginning of hidden output.

csharp
public sealed record TapeHideCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeHideCommand>

TapeKeyCommand ​

Presses a named key or scrolls, with optional repeat and delay operands.

csharp
public sealed record TapeKeyCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeKeyCommand>

TapeLiteral ​

Retains a normalized setting operand and its original source spelling.

csharp
public sealed record TapeLiteral : IEquatable<TapeLiteral>

TapeNumberLiteral ​

Retains a numeric token, including values whose numeric conversion would fail.

csharp
public sealed record TapeNumberLiteral : IEquatable<TapeNumberLiteral>

TapeOutputCommand ​

Declares an output path without creating an artifact.

csharp
public sealed record TapeOutputCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeOutputCommand>

TapeParseContext ​

Provides token access, source information, and diagnostic reporting to a syntax extension.

csharp
public sealed class TapeParseContext

TapeParseException ​

Indicates that Tape source contains syntax errors.

csharp
public sealed class TapeParseException : Exception, ISerializable

TapeParser ​

Parses VHS v0.11.0 Tape syntax into an editable document without executing instructions.

csharp
public sealed class TapeParser

TapeParserOptions ​

Configures Tape syntax callbacks without executing instructions during parsing.

csharp
public sealed class TapeParserOptions

TapePasteCommand ​

Declares a paste instruction.

csharp
public sealed record TapePasteCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapePasteCommand>

TapePlaybackException ​

Reports a failure after tape execution has begun.

csharp
public sealed class TapePlaybackException : Exception, ISerializable

TapePlaybackOptions ​

Configures playback, capture, and optional default-shell launch settings.

csharp
public sealed class TapePlaybackOptions

TapePlayContext ​

Provides the effective playback settings while preparing a command's result.

csharp
public sealed class TapePlayContext

TapePlayer ​

Prepares and plays Tape documents against borrowed or player-owned terminals.

csharp
public sealed class TapePlayer

TapeRequireCommand ​

Declares a required executable without searching for it.

csharp
public sealed record TapeRequireCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeRequireCommand>

TapeScreenshotCommand ​

Declares a screenshot instruction without creating a file.

csharp
public sealed record TapeScreenshotCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeScreenshotCommand>

TapeSetCommand ​

Declares a Tape setting without evaluating it.

csharp
public sealed record TapeSetCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeSetCommand>

TapeShowCommand ​

Declares the resumption of visible output.

csharp
public sealed record TapeShowCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeShowCommand>

TapeSleepCommand ​

Pauses execution for a duration.

csharp
public sealed record TapeSleepCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeSleepCommand>

TapeSourceCommand ​

Declares a source include without opening or expanding the referenced file.

csharp
public sealed record TapeSourceCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeSourceCommand>

TapeToken ​

Represents a source token without escape decoding.

csharp
public sealed record TapeToken : IEquatable<TapeToken>

TapeTokenReader ​

Provides forward-only access to Tape tokens for syntax recognition.

csharp
public sealed class TapeTokenReader

TapeTypeCommand ​

Types text using an optional per-character delay.

csharp
public sealed record TapeTypeCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeTypeCommand>

TapeValidationException ​

Reports a tape rejected before any execution begins.

csharp
public sealed class TapeValidationException : Exception, ISerializable

TapeValidationResult ​

Contains preparation diagnostics without executing a tape.

csharp
public sealed class TapeValidationResult

TapeWaitCommand ​

Waits for a regular expression to match terminal text.

csharp
public sealed record TapeWaitCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeWaitCommand>

TerminalAnsiOptions ​

Options for ANSI rendering of terminal regions.

csharp
public class TerminalAnsiOptions

TerminalRegionAnsiExtensions ​

Extension methods for rendering terminal regions to ANSI escape code format.

csharp
public static class TerminalRegionAnsiExtensions

TerminalRegionCellPatternExtensions ​

Extension methods for searching terminal regions with cell patterns.

csharp
public static class TerminalRegionCellPatternExtensions

TerminalRegionHtmlExtensions ​

Extension methods for rendering terminal regions to interactive HTML format.

csharp
public static class TerminalRegionHtmlExtensions

TerminalRegionSvgExtensions ​

Extension methods for rendering terminal regions to SVG format.

csharp
public static class TerminalRegionSvgExtensions

TerminalSvgOptions ​

Options for SVG rendering of terminal regions.

csharp
public class TerminalSvgOptions

TestPatternGenerator ​

Generates well-known test pattern images for verifying graphics rendering. These patterns have predictable, easily verifiable outputs.

csharp
public static class TestPatternGenerator

TestStep ​

Base class for test sequence steps. Each step knows how to execute itself against a terminal.

csharp
public abstract record TestStep : IEquatable<TestStep>

TextInputStep ​

A step that types a string of text, optionally with delays between keystrokes.

csharp
public sealed record TextInputStep : TestStep, IEquatable<TestStep>, IEquatable<TextInputStep>

WaitStep ​

A step that pauses for a specified duration.

csharp
public sealed record WaitStep : TestStep, IEquatable<TestStep>, IEquatable<WaitStep>

WaitUntilStep ​

A step that waits until a condition is met on the terminal.

csharp
public sealed record WaitUntilStep : TestStep, IEquatable<TestStep>, IEquatable<WaitUntilStep>

WaitUntilTimeoutException ​

Exception thrown when a times out waiting for a condition. Includes rich diagnostic information about the terminal state at the time of timeout.

csharp
public sealed class WaitUntilTimeoutException : TimeoutException, ISerializable

Structs ​

FindOptions ​

Options for Find pattern methods.

csharp
public readonly struct FindOptions

MultiLineTextMatch ​

Represents a text match that may span multiple lines in a terminal region.

csharp
public readonly record struct MultiLineTextMatch : IEquatable<MultiLineTextMatch>

TapeSourceSpan ​

Identifies a range of Tape source text.

csharp
public readonly record struct TapeSourceSpan : IEquatable<TapeSourceSpan>

TextMatch ​

Represents a text match found in a terminal region, with its coordinates.

csharp
public readonly record struct TextMatch : IEquatable<TextMatch>

TraversedCell ​

Represents a single cell that was traversed during pattern matching.

csharp
public readonly record struct TraversedCell : IEquatable<TraversedCell>

Interfaces ​

IHex1bTerminalRegion ​

Common interface for terminal snapshot and snapshot regions. Provides core cell access and region extraction.

csharp
public interface IHex1bTerminalRegion

Enums ​

Direction ​

Direction of movement in the terminal grid.

csharp
public enum Direction

FindCursorPosition ​

Specifies where to position the cursor after a Find match.

csharp
public enum FindCursorPosition

ScrollbackWidth ​

Controls how scrollback line widths are adapted when included in a snapshot.

csharp
public enum ScrollbackWidth

TapeArtifactKind ​

Identifies the format of a generated tape artifact.

csharp
public enum TapeArtifactKind

TapeDiagnosticSeverity ​

Indicates the importance of a Tape diagnostic.

csharp
public enum TapeDiagnosticSeverity

TapeDiagnosticStage ​

Identifies the stage that produced a Tape diagnostic.

csharp
public enum TapeDiagnosticStage

TapeSetting ​

Identifies a setting recognized by the VHS v0.11.0 grammar.

csharp
public enum TapeSetting

TapeTokenKind ​

Identifies a token's lexical category without converting its value.

csharp
public enum TapeTokenKind

TapeWaitScope ​

Identifies the terminal text examined by a Wait instruction.

csharp
public enum TapeWaitScope

Released under the MIT License.