Repository navigation
An extension that finds its syntax in the source can now read the text the way cmark reads it, including inside GFM table cells.
ParseContext.literal(of:). Reads a source range as cmark reads text. Backslash escapes of ASCII punctuation and entity and numeric character references are resolved, and in a GFM table cell \| first reads as |. An extension finds its syntax in the source and takes the text a reader sees from here.
Table cells with \|. Nodes are placed where they are written. Before, every escaped pipe ahead of a node moved its range one byte early, so a text holding one ended a byte short.
wrapHTML with escapes, entities and table cells. wrapHTML(_:in:onEnter:onExit:) takes a text node that holds an escape or an entity, reading the text around it and content with literal(of:). It returns false when an escape or a reference spans a bound. Both wrapHTML calls also work in a GFM table cell, where they used to return false.
The README, the DocC Ranges article and a tested README example cover literal(of:).
No breaking API change from 1.6.0 (diagnose-api-breaking-changes). 184 tests, run plain, under ASan and under TSan. (#14)