Scribe was extracted from Amp, a text editor written in Rust. It provides a layered set of types for dealing with text documents.
GapBuffer
- Data structure optimized for successive, close-proximity edits.Buffer
- Wrapper that provides bounds-checked cursor management, file persistence, undo/redo (with grouping), lexing (scope-qualified tokens), search, and more.Workspace
- Collection of buffers with type detection, and buffer selection and lexer management.
More documentation can be found here.