aboutsummaryrefslogtreecommitdiffstats
path: root/src/construct (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-08-10Refactor some code for document parsingLibravatar Titus Wormer1-3/+7
2022-08-10Add `State::Retry`Libravatar Titus Wormer21-186/+152
2022-08-10Rename `State::Fn` to `State::Next`Libravatar Titus Wormer27-324/+309
2022-08-09Add support for passing `ok`, `nok` as separate states to attemptsLibravatar Titus Wormer15-168/+265
2022-08-09Rewrite algorithm to not pass around boxed functionsLibravatar Titus Wormer27-688/+795
* 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 Wormer21-990/+979
2022-08-01Fix bug on empty heading (atx)Libravatar Titus Wormer1-29/+31
2022-08-01Add missing docs, refactor some codeLibravatar Titus Wormer3-8/+21
2022-08-01Refactor some statesLibravatar Titus Wormer6-28/+32
2022-07-29Refactor to improve statesLibravatar Titus Wormer23-907/+522
* 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 Wormer30-386/+450
2022-07-28Refactor to use `debug_assert`Libravatar Titus Wormer1-1/+0
2022-07-28Refactor to work on `char`sLibravatar Titus Wormer28-614/+540
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 Wormer6-136/+195
2022-07-25Refactor to not pass codes aroundLibravatar Titus Wormer29-896/+861
2022-07-25Remove no longer needed field in `State::Ok`Libravatar Titus Wormer29-44/+44
2022-07-25Improve performance w/ a single feed loopLibravatar Titus Wormer21-45/+41
2022-07-22Refactor to use a single shared edit mapLibravatar Titus Wormer7-52/+34
2022-07-22Refactor to remove unneeded tuples in every statesLibravatar Titus Wormer29-781/+583
2022-07-22Refactor to pass ints instead of vecs aroundLibravatar Titus Wormer29-374/+328
2022-07-21Refactor to improve performance by passing markers aroundLibravatar Titus Wormer1-6/+6
2022-07-21Refactor to move `index` field to `point`Libravatar Titus Wormer6-66/+29
2022-07-21Refactor to move some event fields to `link`Libravatar Titus Wormer4-58/+24
2022-07-20Refactor to share edit mapLibravatar Titus Wormer7-41/+41
2022-07-20Refactor to improve allocation around stringsLibravatar Titus Wormer1-6/+4
2022-07-20Refactor to use less vecs for eventsLibravatar Titus Wormer7-18/+18
2022-07-19Refactor to remove cloning in `edit_map`Libravatar Titus Wormer7-20/+15
2022-07-19Fix performance around a lot of listsLibravatar Titus Wormer1-16/+33
2022-07-18Add support for turning off constructsLibravatar Titus Wormer20-52/+124
2022-07-18Refactor to organize resolversLibravatar Titus Wormer4-175/+175
2022-07-18Refactor examples of statesLibravatar Titus Wormer26-460/+605
2022-07-18Remove unneeded tokenLibravatar Titus Wormer1-3/+3
2022-07-18Fix token that should be voidLibravatar Titus Wormer1-2/+4
2022-07-18Fix dead link in docsLibravatar Titus Wormer1-2/+2
2022-07-15Fix interrupting of ordered itemsLibravatar Titus Wormer1-5/+7
2022-07-15Fix to use single array for character referencesLibravatar Titus Wormer1-6/+8
2022-07-15Fix stray `println`Libravatar Titus Wormer1-2/+0
2022-07-15Add docs to non-lazy continuationLibravatar Titus Wormer1-5/+27
2022-07-15Add docs and refactor listLibravatar Titus Wormer2-163/+200
2022-07-15Add missing docs to html (flow)Libravatar Titus Wormer2-38/+46
2022-07-15Remove unneeded fieldLibravatar Titus Wormer2-27/+17
2022-07-15Add missing linkLibravatar Titus Wormer1-5/+4
2022-07-15Remove unneeded tokenLibravatar Titus Wormer1-3/+3
2022-07-15Fix linkLibravatar Titus Wormer1-4/+3
2022-07-15Fix lazy first line in code (fenced)Libravatar Titus Wormer1-13/+7
2022-07-14Fix two more list bugsLibravatar Titus Wormer1-1/+6
2022-07-14Fix interrupting sibling list itemsLibravatar Titus Wormer1-3/+1
2022-07-14Fix html (flow) whitespace againLibravatar Titus Wormer1-2/+11
2022-07-14Add support for container stateLibravatar Titus Wormer1-43/+52
* 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 Wormer2-5/+6
* 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