aboutsummaryrefslogtreecommitdiffstats
path: root/src/construct/label_end.rs (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-08-11Remove boxes around resolversLibravatar Titus Wormer1-3/+3
2022-08-11Refactor to move some code to `event.rs`Libravatar Titus Wormer1-102/+103
2022-08-11Refactor to move some code to `state.rs`Libravatar Titus Wormer1-33/+34
2022-08-11Refactor internal docs, code style of tokenizerLibravatar Titus Wormer1-14/+22
2022-08-10Add `State::Retry`Libravatar Titus Wormer1-8/+8
2022-08-10Rename `State::Fn` to `State::Next`Libravatar Titus Wormer1-25/+25
2022-08-09Add support for passing `ok`, `nok` as separate states to attemptsLibravatar Titus Wormer1-36/+48
2022-08-09Rewrite algorithm to not pass around boxed functionsLibravatar Titus Wormer1-49/+61
* 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
2022-08-02Refactor to remove most closuresLibravatar Titus Wormer1-120/+102
2022-08-01Refactor some statesLibravatar Titus Wormer1-2/+1
2022-07-29Refactor to improve statesLibravatar Titus Wormer1-24/+23
* 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-29Refactor to work on bytes (`u8`)Libravatar Titus Wormer1-12/+12
2022-07-28Refactor to work on `char`sLibravatar Titus Wormer1-48/+44
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-25Refactor to not pass codes aroundLibravatar Titus Wormer1-61/+58
2022-07-25Remove no longer needed field in `State::Ok`Libravatar Titus Wormer1-4/+4
2022-07-25Improve performance w/ a single feed loopLibravatar Titus Wormer1-4/+4
2022-07-22Refactor to use a single shared edit mapLibravatar Titus Wormer1-10/+8
2022-07-22Refactor to remove unneeded tuples in every statesLibravatar Titus Wormer1-31/+31
2022-07-22Refactor to pass ints instead of vecs aroundLibravatar Titus Wormer1-13/+13
2022-07-21Refactor to move `index` field to `point`Libravatar Titus Wormer1-12/+4
2022-07-21Refactor to move some event fields to `link`Libravatar Titus Wormer1-24/+8
2022-07-20Refactor to share edit mapLibravatar Titus Wormer1-9/+9
2022-07-20Refactor to use less vecs for eventsLibravatar Titus Wormer1-2/+2
2022-07-19Refactor to remove cloning in `edit_map`Libravatar Titus Wormer1-10/+7
2022-07-18Add support for turning off constructsLibravatar Titus Wormer1-1/+1
2022-07-18Refactor to organize resolversLibravatar Titus Wormer1-169/+169
2022-07-18Refactor examples of statesLibravatar Titus Wormer1-43/+56
2022-07-07Refactor to move token types to `token`Libravatar Titus Wormer1-64/+65
2022-07-05Fix bug when removing loose label endsLibravatar Titus Wormer1-1/+1
2022-07-05Refactor to do some to dosLibravatar Titus Wormer1-18/+13
2022-07-01Refactor to reorder token typesLibravatar Titus Wormer1-8/+8
2022-07-01Refactor to clean and document `space_or_tab`Libravatar Titus Wormer1-4/+4
2022-06-30Add support for trimming whitespace around string, textLibravatar Titus Wormer1-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
2022-06-30Refactor some docs, fix some grammarLibravatar Titus Wormer1-11/+15
2022-06-29Add support for sharing identifiers, references before definitionsLibravatar Titus Wormer1-13/+4
2022-06-28Add some more crosslinks to docsLibravatar Titus Wormer1-3/+3
2022-06-28Add docs to label endLibravatar Titus Wormer1-3/+150
2022-06-28Add docs for `RESOURCE_DESTINATION_BALANCE_MAX`Libravatar Titus Wormer1-2/+2
2022-06-28Fix jumps in `edit_map`Libravatar Titus Wormer1-121/+38
* Use resolve more often (e.g., heading (atx, setext)) * Fix to link whole phrasing (e.g., one big chunk of text in heading (atx, setext), titles, labels) * Replace `ChunkText`, `ChunkString`, with `event.content_type: Option<ContentType>` * Refactor to externalize `edit_map` from `label`
2022-06-24Add link, images (resource)Libravatar Titus Wormer1-0/+712
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