Skip to main content

Module tree

Module tree 

Source
Available on crate feature parser only.
Expand description

§Syntax tree

Everything syntactic: the byte-faithful representation of a calendar and the bridges to and from the decoded model.

The hub is cst::IcalCst, a recursive tree of generic nodes (line, param, value, leaf, with each line’s wire layout on wire) that round-trips the wire bytes exactly.

On top of it sit the read-and-edit lenses: one per property in prop, one per parameter in param, and the in-place edit cursor in value. A property lens is implemented on the marker its property defines in crate::prop, so the RFC contract and the syntax projection meet on one type without the contract needing a parser.

Around them, codec projects between tree and decoded model, and the three-way merge reconciles two divergent edits against their common base.

Parsing is the only fallible step, so its error type lives here too. This whole layer is gated behind the parser feature, so the decoded model can be depended on without it.

Modules§

codec
Codec
cst
Concrete syntax tree
error
Errors
leaf
Leaf
line
Content line
merge
Three-way merge
param
Parameters (syntax side)
prop
Property lenses
value
Values (syntax side)
wire
Wire shape