aboutsummaryrefslogtreecommitdiffstats
path: root/src/construct/autolink.rs (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-08-12Remove `match` statements if clumsyLibravatar Titus Wormer1-10/+9
2022-08-12Refactor to improve docs of each functionLibravatar Titus Wormer1-9/+9
2022-08-11Refactor to move `space_or_tab_eol` to own fileLibravatar Titus Wormer1-4/+4
2022-08-11Refactor to move some code to `event.rs`Libravatar Titus Wormer1-32/+34
2022-08-11Refactor to move some code to `state.rs`Libravatar Titus Wormer1-19/+18
2022-08-10Add `State::Retry`Libravatar Titus Wormer1-29/+18
2022-08-10Rename `State::Fn` to `State::Next`Libravatar Titus Wormer1-10/+10
2022-08-09Rewrite algorithm to not pass around boxed functionsLibravatar Titus Wormer1-22/+22
* 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-15/+30
2022-08-01Refactor some statesLibravatar Titus Wormer1-9/+12
2022-07-29Refactor to improve statesLibravatar Titus Wormer1-28/+29
* 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-20/+20
2022-07-28Refactor to work on `char`sLibravatar Titus Wormer1-21/+19
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-46/+44
2022-07-25Remove no longer needed field in `State::Ok`Libravatar Titus Wormer1-1/+1
2022-07-22Refactor to remove unneeded tuples in every statesLibravatar Titus Wormer1-44/+31
2022-07-22Refactor to pass ints instead of vecs aroundLibravatar Titus Wormer1-24/+18
2022-07-18Add support for turning off constructsLibravatar Titus Wormer1-1/+1
2022-07-18Refactor examples of statesLibravatar Titus Wormer1-16/+30
2022-07-07Refactor to move token types to `token`Libravatar Titus Wormer1-16/+17
2022-07-05Refactor code styleLibravatar Titus Wormer1-44/+31
2022-06-28Add some more crosslinks to docsLibravatar Titus Wormer1-2/+3
2022-06-28Add docs to label endLibravatar Titus Wormer1-2/+0
2022-06-22Add docs on encoding to definition, destinationLibravatar Titus Wormer1-2/+2
2022-06-22Add docs for token typesLibravatar Titus Wormer1-0/+7
2022-06-21Refactor to improve a bunch of statesLibravatar Titus Wormer1-4/+3
* Improve passing stuff around * Add traits to enums for markers and such * Fix “life time” stuff I didn’t understand
2022-06-20Remove unneeded `pub` keywordsLibravatar Titus Wormer1-9/+9
2022-06-15Add docs on sanitizing urls to autolinkLibravatar Titus Wormer1-0/+18
2022-06-14Add docs on constructs, bnfLibravatar Titus Wormer1-0/+2
2022-06-13Add support for sanitizing urlsLibravatar Titus Wormer1-6/+4
* Add support for properly encoding characters in urls * Add support for sanitizing potentially dangerous urls * Add safe defaults, optionally live dangerously
2022-06-13Add autolinksLibravatar Titus Wormer1-0/+327