Skip to content

1.7.0

Latest

Choose a tag to compare

@hebertialmeida hebertialmeida released this 12 Nov 04:07
2758c26

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)