aboutsummaryrefslogtreecommitdiffstats
path: root/tests (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-08-09Add another test for lazy fenced code and block quotesLibravatar Titus Wormer1-1/+7
2022-08-09Add some more tests for just line endingsLibravatar Titus Wormer1-0/+36
2022-08-01Fix bug on empty heading (atx)Libravatar Titus Wormer1-1/+7
2022-07-29Refactor to improve statesLibravatar Titus Wormer1-0/+6
* Remove custom kind wrappers, use plain bytes instead * Remove `Into`s, use the explicit expected types instead * Refactor to use `slice.as_str` in most places * Remove unneeded unique check before adding a definition * Use a shared CDATA prefix in constants * Inline byte checks into matches * Pass bytes back from parser instead of whole parse state * Refactor to work more often on bytes * Rename custom `size` to `len`
2022-07-28Refactor to work on `char`sLibravatar Titus Wormer1-6/+0
Previously, a custom char implementation was used. This was easier to work with, as sometimes “virtual” characters are injected, or characters are ignored. This replaces that with working on actual `char`s. In the hope of in the future working on `u8`s, even. This simplifies the state machine somewhat, as only `\n` is fed, regardless of whether it was a CRLF, CR, or LF. It also feeds `' '` instead of virtual spaces. The BOM, if present, is now available as a `ByteOrderMark` event.
2022-07-26Refactor to drastically improve perf around whitespaceLibravatar Titus Wormer1-6/+0
2022-07-22Refactor to remove unneeded tuples in every statesLibravatar Titus Wormer1-1/+1
2022-07-21Refactor performance around links in subtokenizeLibravatar Titus Wormer1-1/+7
2022-07-18Change to improve `default_line_ending` apiLibravatar Titus Wormer1-2/+2
2022-07-18Add support for turning off constructsLibravatar Titus Wormer25-1855/+3981
2022-07-18Change to enable build script for commonmark tests againLibravatar Titus Wormer1-653/+653
2022-07-18Fix edge case in identifier normalizationLibravatar Titus Wormer1-10/+9
2022-07-18Fix final bug with lazinessLibravatar Titus Wormer1-152/+142
2022-07-15Fix interrupting of ordered itemsLibravatar Titus Wormer1-11/+10
2022-07-15Fix some final eol bugsLibravatar Titus Wormer1-54/+49
2022-07-15Fix formatting of `commonmark` testsLibravatar Titus Wormer1-4392/+2464
2022-07-15Fix to use single array for character referencesLibravatar Titus Wormer2-13/+15
2022-07-15Add all commonmark testsLibravatar Titus Wormer1-0/+9142
2022-07-15Fix annoying bug around virtual spaces in containersLibravatar Titus Wormer1-6/+5
2022-07-15Fix lazy first line in code (fenced)Libravatar Titus Wormer1-1/+0
2022-07-14Fix two more list bugsLibravatar Titus Wormer2-17/+15
2022-07-14Fix interrupting sibling list itemsLibravatar Titus Wormer1-43/+36
2022-07-14Fix html (flow) whitespace againLibravatar Titus Wormer1-44/+40
2022-07-14Add support for container stateLibravatar Titus Wormer2-235/+198
* Fix to parse list item continuation based on how big the initial list item prefix was * Fix list items that start with blank lines
2022-07-14Fix a bunch of container thingsLibravatar Titus Wormer4-100/+99
* Fix a lot of container code * Fix to prevent code (indented) from interrupting a lazy container * Fix compiling when combining tight paragraphs, empty list items, and html * Fix list items starting w/ blank lines causing loose lists * Fix crash when looking for a previous blank line
2022-07-13Fix lists in lists and some other bugsLibravatar Titus Wormer1-43/+37
2022-07-13Fix to close containers before several (blank) line endingsLibravatar Titus Wormer3-44/+37
2022-07-12Fix some issues around empty listsLibravatar Titus Wormer3-67/+71
2022-07-12Fix to prefer thematic breaks over listsLibravatar Titus Wormer3-49/+41
2022-07-12Fix a lot of list thingsLibravatar Titus Wormer7-356/+408
* Add `ListItem`, `ListOrdered`, and `ListUnordered` tokens * Add support for multiline list items * Add support for tight lists * Fix bug where 10 digit long list item values worked * Fix skip bug when skipping over nested events
2022-07-12Add initial support for listsLibravatar Titus Wormer7-42/+616
2022-07-11Add support for lazy linesLibravatar Titus Wormer7-91/+81
2022-07-11Fix block quote bugsLibravatar Titus Wormer3-33/+28
2022-07-11Add tests for matching identifiers w/ turkish `i`Libravatar Titus Wormer1-0/+25
2022-07-08Fix bug around forcibly closed flow exitsLibravatar Titus Wormer2-25/+21
2022-07-08Fix interrupting when exiting containersLibravatar Titus Wormer1-6/+5
2022-07-08Fix container bug due to attemptsLibravatar Titus Wormer3-13/+12
2022-07-08Add improved container enter/exit mechanismLibravatar Titus Wormer2-10/+9
2022-07-08Fix closing of flow when exiting containersLibravatar Titus Wormer5-70/+59
2022-07-08Add support for concrete constructsLibravatar Titus Wormer3-20/+17
2022-07-07Add basic support for block quotesLibravatar Titus Wormer10-203/+394
2022-07-05Fix misnested attentionLibravatar Titus Wormer1-12/+10
2022-07-05Fix interleaving of attention/labelLibravatar Titus Wormer3-30/+25
2022-07-05Fix resizing attention bugLibravatar Titus Wormer3-77/+68
2022-07-04Fix opening/closing tag order of nested attentionLibravatar Titus Wormer1-36/+31
2022-07-04Fix some attention bugsLibravatar Titus Wormer1-252/+210
* Fix closing many attention from one closer * Fix nested attention * Fix remaining attention markers
2022-07-04Add more tests for attentionLibravatar Titus Wormer1-0/+877
2022-07-04Add support for attention (emphasis, strong)Libravatar Titus Wormer10-236/+203
2022-07-01Make paragraphs really fastLibravatar Titus Wormer12-24/+22
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 Wormer13-142/+120
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