Module parsing

Source
Expand description

Everything about parsing text into text annotated with scopes.

The most important struct here is SyntaxSet, check out the docs for that.

Re-exports§

pub use self::syntax_definition::SyntaxDefinition;

Modules§

syntax_definition
Data structures for representing syntax definitions

Structs§

MatchPower
Wrapper to get around the fact Rust f64 doesn’t implement Ord and there is no non-NaN float type
ParseState
Keeps the current parser state (the internal syntax interpreter stack) between lines of parsing.
Regex
An abstraction for regex patterns.
Region
A region contains text positions for capture groups in a match result.
Scope
A hierarchy of atoms with semi-standardized names used to accord semantic information to a specific piece of text.
ScopeRepository
The structure used to keep track of the mapping between scope atom numbers and their string names
ScopeStack
A stack/sequence of scopes for representing hierarchies for a given token of text
SyntaxReference
A linked version of a SyntaxDefinition that is only useful as part of the SyntaxSet that contains it. See docs for SyntaxSetBuilder::build for more info.
SyntaxSet
A syntax set holds multiple syntaxes that have been linked together.
SyntaxSetBuilder
A syntax set builder is used for loading syntax definitions from the file system or by adding SyntaxDefinition objects.

Enums§

BasicScopeStackOp
Used for ScopeStack::apply_with_hook
ClearAmount
ParseScopeError
Not all strings are valid scopes
ParseSyntaxError
ParsingError
Errors that can occur while parsing.
ScopeError
Scope related errors
ScopeStackOp
A change to a scope stack

Constants§

ATOM_LEN_BITS
Multiplier on the power of 2 for MatchPower. This is only useful if you compute your own MatchPower scores

Statics§

SCOPE_REPO
The global scope repo, exposed in case you want to minimize locking and unlocking.