Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add support for parsing MDX ESM, expressions | Titus Wormer | 2022-09-19 | 9 | -417/+941 | |
| | | | | | | | | | | | | | | | | This commit adds support for hooks that lets a user integrate another parser with `micromark-rs`, to parse ESM and expressions according to a particular grammar (such as a programming language, typically JavaScript). For an example integrating with SWC, see `tests/test_utils/mod.rs`. The integration occurs with two functions passed in `options`: `mdx_expression_parse` and `mdx_esm_parse`. The can signal back to micromark when they are successful, whether there is an error at the end (in which case micromark will try to parse more), or whether there is a syntax error (in which case micromark will crash). | |||||
* | Fix to prefer flow over definitions, setext headings | Titus Wormer | 2022-09-14 | 3 | -1/+43 | |
| | | | | | | | | | | | | | | 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. | |||||
* | Fix containers piercing into indented code | Titus Wormer | 2022-09-12 | 1 | -2/+14 | |
| | ||||||
* | Fix gfm email autolink literals overlapping | Titus Wormer | 2022-09-12 | 1 | -2/+17 | |
| | ||||||
* | Fix blank lines in labels | Titus Wormer | 2022-09-12 | 1 | -0/+14 | |
| | ||||||
* | Fix whitespace in GFM footnote definition identifiers | Titus Wormer | 2022-09-12 | 1 | -109/+177 | |
| | | | | | | * Fix a crash on line endings in footnote definitions * Fix to match spaces and tabs in identifiers to `cmark-gfm` * Fix order of one attribute | |||||
* | Add docs for mdx expressions | Titus Wormer | 2022-09-09 | 1 | -1/+1 | |
| | ||||||
* | Add support for mdx attribute (value) expressions | Titus Wormer | 2022-09-09 | 2 | -170/+167 | |
| | ||||||
* | Add mdx expression (flow, text) | Titus Wormer | 2022-09-09 | 3 | -5/+512 | |
| | ||||||
* | Add support for mdx jsx (flow) | Titus Wormer | 2022-09-08 | 2 | -0/+154 | |
| | ||||||
* | Add tests for mdx jsx (text) | Titus Wormer | 2022-09-08 | 1 | -0/+821 | |
| | ||||||
* | Add support for recoverable syntax errors | Titus Wormer | 2022-09-07 | 40 | -1289/+1371 | |
| | ||||||
* | Add support for `mailto:`, `xmpp:` protocols | Titus Wormer | 2022-09-05 | 1 | -0/+43 | |
| | ||||||
* | Fix to implement GFM autolink literals exactly | Titus Wormer | 2022-09-05 | 1 | -2/+2440 | |
| | ||||||
* | Add support for GFM tagfilter | Titus Wormer | 2022-09-01 | 1 | -0/+121 | |
| | ||||||
* | Add support for GFM tables | Titus Wormer | 2022-08-31 | 2 | -0/+1794 | |
| | ||||||
* | Add support for math (flow) | Titus Wormer | 2022-08-26 | 2 | -30/+274 | |
| | ||||||
* | Add support for math (text) | Titus Wormer | 2022-08-26 | 1 | -0/+190 | |
| | ||||||
* | Add support for GFM footnotes | Titus Wormer | 2022-08-25 | 1 | -0/+1530 | |
| | ||||||
* | Fix lazy paragraph after definition | Titus Wormer | 2022-08-22 | 3 | -0/+30 | |
| | ||||||
* | Add support for GFM task list item | Titus Wormer | 2022-08-22 | 1 | -0/+236 | |
| | ||||||
* | Add support for GFM strikethrough | Titus Wormer | 2022-08-22 | 1 | -0/+387 | |
| | ||||||
* | Add support for GFM autolink literals | Titus Wormer | 2022-08-18 | 1 | -0/+256 | |
| | ||||||
* | Add `pretty_assertions` to tests for diffs | Titus Wormer | 2022-08-18 | 32 | -0/+33 | |
| | ||||||
* | Add support for frontmatter | Titus Wormer | 2022-08-16 | 1 | -0/+67 | |
| | ||||||
* | Refactor to rename list construct to list item | Titus Wormer | 2022-08-15 | 1 | -1/+1 | |
| | ||||||
* | Add improved container exit injection | Titus Wormer | 2022-08-11 | 1 | -0/+8 | |
| | ||||||
* | Add more tests for definitions and block quotes | Titus Wormer | 2022-08-09 | 3 | -15/+21 | |
| | ||||||
* | Add another test for lazy fenced code and block quotes | Titus Wormer | 2022-08-09 | 1 | -1/+7 | |
| | ||||||
* | Add some more tests for just line endings | Titus Wormer | 2022-08-09 | 1 | -0/+36 | |
| | ||||||
* | Fix bug on empty heading (atx) | Titus Wormer | 2022-08-01 | 1 | -1/+7 | |
| | ||||||
* | Refactor to improve states | Titus Wormer | 2022-07-29 | 1 | -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` | |||||
* | Refactor to work on `char`s | Titus Wormer | 2022-07-28 | 1 | -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. | |||||
* | Refactor to drastically improve perf around whitespace | Titus Wormer | 2022-07-26 | 1 | -6/+0 | |
| | ||||||
* | Refactor to remove unneeded tuples in every states | Titus Wormer | 2022-07-22 | 1 | -1/+1 | |
| | ||||||
* | Refactor performance around links in subtokenize | Titus Wormer | 2022-07-21 | 1 | -1/+7 | |
| | ||||||
* | Change to improve `default_line_ending` api | Titus Wormer | 2022-07-18 | 1 | -2/+2 | |
| | ||||||
* | Add support for turning off constructs | Titus Wormer | 2022-07-18 | 25 | -1855/+3981 | |
| | ||||||
* | Change to enable build script for commonmark tests again | Titus Wormer | 2022-07-18 | 1 | -653/+653 | |
| | ||||||
* | Fix edge case in identifier normalization | Titus Wormer | 2022-07-18 | 1 | -10/+9 | |
| | ||||||
* | Fix final bug with laziness | Titus Wormer | 2022-07-18 | 1 | -152/+142 | |
| | ||||||
* | Fix interrupting of ordered items | Titus Wormer | 2022-07-15 | 1 | -11/+10 | |
| | ||||||
* | Fix some final eol bugs | Titus Wormer | 2022-07-15 | 1 | -54/+49 | |
| | ||||||
* | Fix formatting of `commonmark` tests | Titus Wormer | 2022-07-15 | 1 | -4392/+2464 | |
| | ||||||
* | Fix to use single array for character references | Titus Wormer | 2022-07-15 | 2 | -13/+15 | |
| | ||||||
* | Add all commonmark tests | Titus Wormer | 2022-07-15 | 1 | -0/+9142 | |
| | ||||||
* | Fix annoying bug around virtual spaces in containers | Titus Wormer | 2022-07-15 | 1 | -6/+5 | |
| | ||||||
* | Fix lazy first line in code (fenced) | Titus Wormer | 2022-07-15 | 1 | -1/+0 | |
| | ||||||
* | Fix two more list bugs | Titus Wormer | 2022-07-14 | 2 | -17/+15 | |
| | ||||||
* | Fix interrupting sibling list items | Titus Wormer | 2022-07-14 | 1 | -43/+36 | |
| |