Module scribe::buffer [] [src]

Types related to in-memory buffers.

Structs

Buffer

A feature-rich wrapper around an underlying gap buffer.

Cursor

Read-only wrapper for a Position, to allow field level access to a buffer's cursor while simultaneously enforcing bounds-checking when updating its value.

GapBuffer

A UTF-8 string buffer designed to minimize reallocations, maintaining performance amid frequent modifications.

LineRange

A more concise expression for ranges spanning complete lines.

Position

A two (zero-based) coordinate value representing a location in a buffer. The offset field is so named to emphasize that positions point to locations before/after characters, not characters themselves, in an effort to avoid fencepost errors.

Range

A two-position type, representing a span of characters.

Token

A lexeme and category pairing. Tokens are the final product of a lexer; their lexemes should join to produce the original data passed to the lexer.

Enums

Category

The primary means of classifying a format or language's lexemes.