aboutsummaryrefslogtreecommitdiffstats
path: root/src/construct/label_start_image.rs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Rename `State::Fn` to `State::Next`Libravatar Titus Wormer2022-08-101-1/+1
|
* Rewrite algorithm to not pass around boxed functionsLibravatar Titus Wormer2022-08-091-2/+2
| | | | | | * 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 improve statesLibravatar Titus Wormer2022-07-291-2/+1
| | | | | | | | | | | | * 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 bytes (`u8`)Libravatar Titus Wormer2022-07-291-2/+2
|
* Refactor to work on `char`sLibravatar Titus Wormer2022-07-281-3/+3
| | | | | | | | | | | | | | | 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 not pass codes aroundLibravatar Titus Wormer2022-07-251-6/+6
|
* Remove no longer needed field in `State::Ok`Libravatar Titus Wormer2022-07-251-1/+1
|
* Refactor to remove unneeded tuples in every statesLibravatar Titus Wormer2022-07-221-7/+7
|
* Refactor to pass ints instead of vecs aroundLibravatar Titus Wormer2022-07-221-4/+4
|
* Add support for turning off constructsLibravatar Titus Wormer2022-07-181-1/+1
|
* Refactor examples of statesLibravatar Titus Wormer2022-07-181-2/+4
|
* Refactor to move token types to `token`Libravatar Titus Wormer2022-07-071-10/+11
|
* Add support for trimming whitespace around string, textLibravatar Titus Wormer2022-06-301-1/+1
| | | | | | | | | | | | | 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
* Add docs to label endLibravatar Titus Wormer2022-06-281-4/+3
|
* Add docs for label start (image, link)Libravatar Titus Wormer2022-06-281-1/+30
|
* Add link, images (resource)Libravatar Titus Wormer2022-06-241-0/+47
This is still some messy code that needs cleaning up, but it adds support for links and images, of the resource kind (`[a](b)`). References (`[a][b]`) are parsed and will soon be supported, but need matching. * Fix bug to pad percent-encoded bytes when normalizing urls * Fix bug with escapes counting as balancing in destination * Add `space_or_tab_one_line_ending`, to parse whitespace including up to one line ending (but not a blank line) * Add `ParserState` to share codes, definitions, etc