aboutsummaryrefslogtreecommitdiffstats
path: root/src/construct/partial_whitespace.rs (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-08-15Refactor to move `content` to `construct`Libravatar Titus Wormer1-2/+2
2022-08-11Refactor to move `space_or_tab_eol` to own fileLibravatar Titus Wormer1-3/+3
2022-08-11Refactor to move some code to `event.rs`Libravatar Titus Wormer1-20/+20
2022-08-02Refactor to remove most closuresLibravatar Titus Wormer1-9/+1
2022-08-01Add missing docs, refactor some codeLibravatar Titus Wormer1-7/+9
2022-07-29Refactor to improve statesLibravatar Titus Wormer1-11/+7
* 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-11/+11
2022-07-28Refactor to work on `char`sLibravatar Titus Wormer1-29/+24
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 Wormer1-40/+189
2022-07-25Refactor to not pass codes aroundLibravatar Titus Wormer1-6/+6
2022-07-25Remove no longer needed field in `State::Ok`Libravatar Titus Wormer1-1/+1
2022-07-25Improve performance w/ a single feed loopLibravatar Titus Wormer1-2/+2
2022-07-22Refactor to remove unneeded tuples in every statesLibravatar Titus Wormer1-6/+6
2022-07-22Refactor to pass ints instead of vecs aroundLibravatar Titus Wormer1-2/+2
2022-07-05Refactor code styleLibravatar Titus Wormer1-2/+2
2022-07-01Refactor to clean and document `space_or_tab`Libravatar Titus Wormer1-0/+6
2022-06-30Add support for trimming whitespace around string, textLibravatar Titus Wormer1-0/+56
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-20Add improved whitespace handlingLibravatar Titus Wormer1-64/+0
* add several helpers for parsing betwen x and y `space_or_tab`s * use those helpers in a bunch of places * move initial indent parsing to flow constructs themselves
2022-06-13Add some improved docsLibravatar Titus Wormer1-2/+0