Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Refactor some code to improve coverage | Titus Wormer | 2022-10-13 | 1 | -14/+14 |
| | |||||
* | Add support for parsing MDX ESM, expressions | Titus Wormer | 2022-09-19 | 1 | -0/+4 |
| | | | | | | | | | | | | | | | | 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 | 1 | -5/+18 |
| | | | | | | | | | | | | | | 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 | -1/+1 |
| | |||||
* | Refactor to move byte, char info to own file | Titus Wormer | 2022-09-09 | 1 | -17/+3 |
| | |||||
* | Fix debug message | Titus Wormer | 2022-09-07 | 1 | -1/+1 |
| | |||||
* | Add support for recoverable syntax errors | Titus Wormer | 2022-09-07 | 1 | -5/+12 |
| | |||||
* | Fix to improve debug logging | Titus Wormer | 2022-09-05 | 1 | -2/+16 |
| | |||||
* | Add support for GFM tables | Titus Wormer | 2022-08-31 | 1 | -3/+6 |
| | |||||
* | Add support for math (flow) | Titus Wormer | 2022-08-26 | 1 | -0/+3 |
| | |||||
* | Add support for GFM footnotes | Titus Wormer | 2022-08-25 | 1 | -1/+51 |
| | |||||
* | Fix lazy paragraph after definition | Titus Wormer | 2022-08-22 | 1 | -3/+3 |
| | |||||
* | Add support for GFM task list item | Titus Wormer | 2022-08-22 | 1 | -5/+5 |
| | |||||
* | Refactor to move more things to `util/` | Titus Wormer | 2022-08-19 | 1 | -2/+1 |
| | |||||
* | Add `no_std + alloc` | Titus Wormer | 2022-08-16 | 1 | -0/+1 |
| | |||||
* | Add support for frontmatter | Titus Wormer | 2022-08-16 | 1 | -0/+5 |
| | |||||
* | Refactor to proof docs, grammars | Titus Wormer | 2022-08-15 | 1 | -44/+46 |
| | |||||
* | Add derive of `Eq` where possible | Titus Wormer | 2022-08-15 | 1 | -1/+1 |
| | |||||
* | Refactor to move `content` to `construct` | Titus Wormer | 2022-08-15 | 1 | -5/+5 |
| | |||||
* | Refactor to improve entering | Titus Wormer | 2022-08-12 | 1 | -29/+22 |
| | |||||
* | Refactor to improve some names | Titus Wormer | 2022-08-12 | 1 | -12/+12 |
| | |||||
* | Refactor to improve docs of each function | Titus Wormer | 2022-08-12 | 1 | -5/+6 |
| | |||||
* | Refactor attempts to remove unneeded state name | Titus Wormer | 2022-08-11 | 1 | -12/+7 |
| | |||||
* | Refactor to handle definitions when parsing | Titus Wormer | 2022-08-11 | 1 | -5/+9 |
| | |||||
* | Remove unneeded `balance` info on label starts | Titus Wormer | 2022-08-11 | 1 | -21/+20 |
| | |||||
* | Remove boxes around resolvers | Titus Wormer | 2022-08-11 | 1 | -56/+42 |
| | |||||
* | Refactor to move some code to `event.rs` | Titus Wormer | 2022-08-11 | 1 | -96/+38 |
| | |||||
* | Refactor to move some code to `state.rs` | Titus Wormer | 2022-08-11 | 1 | -640/+7 |
| | |||||
* | Refactor internal docs, code style of tokenizer | Titus Wormer | 2022-08-11 | 1 | -262/+256 |
| | |||||
* | Add improved container exit injection | Titus Wormer | 2022-08-11 | 1 | -13/+10 |
| | |||||
* | Refactor some code for document parsing | Titus Wormer | 2022-08-10 | 1 | -12/+4 |
| | |||||
* | Remove boxes when calling states | Titus Wormer | 2022-08-10 | 1 | -354/+328 |
| | | | | Interestingly, this cuts performance by 20%. | ||||
* | Add `State::Retry` | Titus Wormer | 2022-08-10 | 1 | -11/+37 |
| | |||||
* | Rename `State::Fn` to `State::Next` | Titus Wormer | 2022-08-10 | 1 | -23/+23 |
| | |||||
* | Refactor to reuse some tokenizer code | Titus Wormer | 2022-08-09 | 1 | -69/+58 |
| | |||||
* | Add peeking to unindented flow lines | Titus Wormer | 2022-08-09 | 1 | -4/+2 |
| | |||||
* | Add support for passing `ok`, `nok` as separate states to attempts | Titus Wormer | 2022-08-09 | 1 | -123/+77 |
| | |||||
* | Rewrite algorithm to not pass around boxed functions | Titus Wormer | 2022-08-09 | 1 | -227/+785 |
| | | | | | | * Pass state names from an enum around instead of boxed functions * Refactor to simplify attempts a lot * Use a subtokenizer for the the `document` content type | ||||
* | Refactor to remove most closures | Titus Wormer | 2022-08-02 | 1 | -3/+145 |
| | |||||
* | Add missing docs, refactor some code | Titus Wormer | 2022-08-01 | 1 | -57/+43 |
| | |||||
* | Refactor to work on bytes (`u8`) | Titus Wormer | 2022-07-29 | 1 | -65/+61 |
| | |||||
* | Refactor to use `debug_assert` | Titus Wormer | 2022-07-28 | 1 | -10/+10 |
| | |||||
* | Refactor to work on `char`s | Titus Wormer | 2022-07-28 | 1 | -88/+192 |
| | | | | | | | | | | | | | | | 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 simplify tokenizer | Titus Wormer | 2022-07-26 | 1 | -123/+77 |
| | |||||
* | Remove unneeded parameter | Titus Wormer | 2022-07-26 | 1 | -20/+16 |
| | |||||
* | Refactor to not pass codes around | Titus Wormer | 2022-07-25 | 1 | -32/+26 |
| | |||||
* | Refactor to store less data | Titus Wormer | 2022-07-25 | 1 | -47/+43 |
| | |||||
* | Remove no longer needed field in `State::Ok` | Titus Wormer | 2022-07-25 | 1 | -9/+9 |
| | |||||
* | Refactor to remove need for cloning codes | Titus Wormer | 2022-07-25 | 1 | -33/+21 |
| | |||||
* | Improve performance w/ a single feed loop | Titus Wormer | 2022-07-25 | 1 | -97/+90 |
| |