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.

Distance

A vector value representing a span in a buffer. Unlike the Range type, whose two positions are absolutes, a Distance is meant to be used relative to a Position.

GapBuffer

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

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

Scope

A hierarchy of atoms with semi-standardized names used to accord semantic information to a specific piece of text. Generally written with the atoms separated by dots. By convention atoms are all lowercase alphanumeric.

ScopeStack

A stack/sequence of scopes. This is used both to represent hierarchies for a given token of text, as well as in ScopeSelectors. Press ctrl+shift+p in Sublime Text to see the scope stack at a given point. Also see the TextMate docs.

TokenSet

Enums

Token