aboutsummaryrefslogtreecommitdiffstats
path: root/tests/definition.rs (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-09-26Add support for compiling to mdastLibravatar Titus Wormer1-1/+19
See: <https://github.com/syntax-tree/mdast>.
2022-09-14Fix to prefer flow over definitions, setext headingsLibravatar Titus Wormer1-0/+36
An undocumented part of CommonMark is how to deal with things in definition labels or definition titles (which both can span multiple lines). Can flow (or containers?) interrupt them? They can according to the `cmark` reference parser, so this was implemented here. This adds a new `Content` content type, which houses zero or more definitions, and then zero-or-one paragraphs. Content can be followed by a setext heading underline, which either turns into a setext heading when the content ends in a paragraph, or turns into the start of the following paragraph when it is followed by content that starts with a paragraph, or turns into a stray paragraph.
2022-09-07Add support for recoverable syntax errorsLibravatar Titus Wormer1-6/+7
2022-08-18Add `pretty_assertions` to tests for diffsLibravatar Titus Wormer1-0/+1
2022-08-09Add more tests for definitions and block quotesLibravatar Titus Wormer1-0/+6
2022-07-21Refactor performance around links in subtokenizeLibravatar Titus Wormer1-1/+7
2022-07-18Add support for turning off constructsLibravatar Titus Wormer1-17/+23
2022-07-11Add tests for matching identifiers w/ turkish `i`Libravatar Titus Wormer1-0/+25
2022-07-08Fix container bug due to attemptsLibravatar Titus Wormer1-6/+5
2022-07-08Fix closing of flow when exiting containersLibravatar Titus Wormer1-6/+5
2022-07-07Add basic support for block quotesLibravatar Titus Wormer1-2/+2
2022-07-01Make paragraphs really fastLibravatar Titus Wormer1-7/+6
The approach that `micromark-js` takes is as follows: to parse a paragraph, check whether each line starts with something else. If it does, exit, otherwise continue. That is slow, because our actual flow parser does similar things: the work was being done twice. To fix this, this commit introduces parsing each line of a paragraph separately. And finally, when done with flow, combining adjacent paragraphs. This same mechanism is reused for setext headings. Additionally, this commit adds support for interrupting things (or not). E.g., HTML (flow, complete) cannot interrupt paragraphs. Definitions cannot interrupt paragraphs, and connect be interrupted either, but they can follow each other.
2022-06-30Add support for trimming whitespace around string, textLibravatar Titus Wormer1-6/+5
This commit introduces trimming initial and final whitespace around the whole string or text, or around line endings inside that string or text. * Add `register_resolver_before`, to run resolvers earlier than others, used for labels * Add resolver to merge `data` events, which are the most frequent token that occurs, and can happen adjacently. In `micromark-js` this sped up parsing a lot * Fix a bug where a virtual space was not seen as an okay event * Refactor to enable all turned off whitespace tests
2022-06-29Fix a bunch of bugs with definitions, referencesLibravatar Titus Wormer1-77/+71
* Fix bug where whitespace after `:` was not allowed, it is * Fix bug where escapes in labels did not work due to typo * Fix to prefer first definition * Fix whitespace after definitions * Fix matching by adding normalizing * Fix reference from being output as data
2022-06-29Add support for compiling definitionsLibravatar Titus Wormer1-148/+126
2022-06-21Add support for inferring line ending, configurableLibravatar Titus Wormer1-2/+3
* Rename `CompileOptions` to `Options` * Add support for an optional default line ending style * Add support for inferring the used line ending style
2022-06-20Fix bug with tabsLibravatar Titus Wormer1-6/+5
2022-06-17Add support for definitionsLibravatar Titus Wormer1-0/+446
* Add definitions * Add partials for label, destination, title * Add `go`, to attempt something, and do something else on `ok`