Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Make paragraphs really fast | Titus Wormer | 2022-07-01 | 8 | -275/+178 |
| | | | | | | | | | | | | | | | | | | The approach that `micromark-js` takes is as follows: to parse a paragraph, check whether each line starts with something else. If it does, exit, otherwise continue. That is slow, because our actual flow parser does similar things: the work was being done twice. To fix this, this commit introduces parsing each line of a paragraph separately. And finally, when done with flow, combining adjacent paragraphs. This same mechanism is reused for setext headings. Additionally, this commit adds support for interrupting things (or not). E.g., HTML (flow, complete) cannot interrupt paragraphs. Definitions cannot interrupt paragraphs, and connect be interrupted either, but they can follow each other. | ||||
* | Refactor to reorder token types | Titus Wormer | 2022-07-01 | 4 | -14/+14 |
| | |||||
* | Refactor to clean and document `space_or_tab` | Titus Wormer | 2022-07-01 | 6 | -106/+144 |
| | |||||
* | Add support for trimming whitespace around string, text | Titus Wormer | 2022-06-30 | 6 | -5/+110 |
| | | | | | | | | | | | | | 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 | ||||
* | Refactor some docs, fix some grammar | Titus Wormer | 2022-06-30 | 4 | -18/+25 |
| | |||||
* | Fix a bunch of bugs with definitions, references | Titus Wormer | 2022-06-29 | 2 | -2/+2 |
| | | | | | | | | | * Fix bug where whitespace after `:` was not allowed, it is * Fix bug where escapes in labels did not work due to typo * Fix to prefer first definition * Fix whitespace after definitions * Fix matching by adding normalizing * Fix reference from being output as data | ||||
* | Add support for sharing identifiers, references before definitions | Titus Wormer | 2022-06-29 | 1 | -13/+4 |
| | |||||
* | Add some more crosslinks to docs | Titus Wormer | 2022-06-28 | 6 | -28/+29 |
| | |||||
* | Add docs to label end | Titus Wormer | 2022-06-28 | 6 | -38/+164 |
| | |||||
* | Add docs for label start (image, link) | Titus Wormer | 2022-06-28 | 2 | -2/+59 |
| | |||||
* | Add docs for `RESOURCE_DESTINATION_BALANCE_MAX` | Titus Wormer | 2022-06-28 | 1 | -2/+2 |
| | |||||
* | Fix jumps in `edit_map` | Titus Wormer | 2022-06-28 | 9 | -298/+316 |
| | | | | | | | | | * 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` | ||||
* | Add link, images (resource) | Titus Wormer | 2022-06-24 | 8 | -116/+876 |
| | | | | | | | | | | | | 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 | ||||
* | Refactor to not use `pub` when not needed | Titus Wormer | 2022-06-22 | 5 | -6/+6 |
| | |||||
* | Add docs on normalizing identifiers, matching | Titus Wormer | 2022-06-22 | 1 | -7/+37 |
| | |||||
* | Add support for normalizing identifiers | Titus Wormer | 2022-06-22 | 1 | -5/+0 |
| | |||||
* | Add docs on encoding to definition, destination | Titus Wormer | 2022-06-22 | 3 | -7/+47 |
| | |||||
* | Refactor some unneeded assignments | Titus Wormer | 2022-06-22 | 2 | -4/+3 |
| | |||||
* | Add `attempt_opt` to tokenizer | Titus Wormer | 2022-06-22 | 12 | -75/+120 |
| | |||||
* | Rename `Whitespace` token to `SpaceOrTab` | Titus Wormer | 2022-06-22 | 7 | -13/+13 |
| | |||||
* | Refactor to improve tokenizer, add docs | Titus Wormer | 2022-06-22 | 1 | -6/+8 |
| | |||||
* | Add docs for token types | Titus Wormer | 2022-06-22 | 16 | -31/+140 |
| | |||||
* | Add docs for `subtokenize` | Titus Wormer | 2022-06-21 | 4 | -4/+5 |
| | |||||
* | Add support for capping destination (raw) balance | Titus Wormer | 2022-06-21 | 2 | -4/+4 |
| | |||||
* | Add support for passing token types to destination, label, title | Titus Wormer | 2022-06-21 | 4 | -109/+225 |
| | |||||
* | Make data a construct | Titus Wormer | 2022-06-21 | 2 | -5/+84 |
| | |||||
* | Refactor to improve a bunch of states | Titus Wormer | 2022-06-21 | 13 | -558/+572 |
| | | | | | | * Improve passing stuff around * Add traits to enums for markers and such * Fix “life time” stuff I didn’t understand | ||||
* | Refactor some code | Titus Wormer | 2022-06-20 | 1 | -32/+31 |
| | |||||
* | Add some more enabled tests | Titus Wormer | 2022-06-20 | 3 | -4/+0 |
| | |||||
* | Add support for line endings in string | Titus Wormer | 2022-06-20 | 5 | -55/+101 |
| | |||||
* | Add improved whitespace handling | Titus Wormer | 2022-06-20 | 15 | -471/+307 |
| | | | | | | * 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 | ||||
* | Add paragraph | Titus Wormer | 2022-06-20 | 10 | -11/+206 |
| | |||||
* | Remove unneeded `content` content type | Titus Wormer | 2022-06-20 | 3 | -5/+4 |
| | |||||
* | Remove unneeded `pub` keywords | Titus Wormer | 2022-06-20 | 6 | -73/+58 |
| | |||||
* | Add docs to destination, label, title | Titus Wormer | 2022-06-20 | 5 | -42/+245 |
| | |||||
* | Add support for definitions | Titus Wormer | 2022-06-17 | 5 | -2/+714 |
| | | | | | | * Add definitions * Add partials for label, destination, title * Add `go`, to attempt something, and do something else on `ok` | ||||
* | Add heading (setext) | Titus Wormer | 2022-06-16 | 4 | -18/+323 |
| | |||||
* | Add support for hard break (trailing) | Titus Wormer | 2022-06-16 | 4 | -7/+101 |
| | |||||
* | Add support for hard break escape | Titus Wormer | 2022-06-16 | 3 | -7/+68 |
| | |||||
* | Add docs on sanitizing urls to autolink | Titus Wormer | 2022-06-15 | 1 | -0/+18 |
| | |||||
* | Add support for text in heading (atx) | Titus Wormer | 2022-06-15 | 1 | -0/+2 |
| | |||||
* | Add code (text) | Titus Wormer | 2022-06-15 | 4 | -15/+230 |
| | |||||
* | Add tests for character reference | Titus Wormer | 2022-06-15 | 1 | -1/+1 |
| | | | | | * Fix encoding of character references * Fix unneeded remainder in `nok` state | ||||
* | Fix support for deep subtokenization | Titus Wormer | 2022-06-14 | 1 | -10/+14 |
| | | | | | | * Fix a couple of forgotten line ending handling in html (text) * Fix missing initial case for html (text) not having a `<` 😬 * Add line ending handling to `text` construct | ||||
* | Reorganize to split util | Titus Wormer | 2022-06-14 | 3 | -6/+5 |
| | |||||
* | Add docs on constructs, bnf | Titus Wormer | 2022-06-14 | 2 | -0/+56 |
| | |||||
* | Add docs for html (text) | Titus Wormer | 2022-06-14 | 2 | -67/+289 |
| | |||||
* | Add basic html (text) | Titus Wormer | 2022-06-13 | 2 | -0/+481 |
| | | | | | | | * Add all states for html (text) * Fix to link paragraph tokens together * Add note about uncovered bug where linking paragraph tokens together doesn’t work 😅 | ||||
* | Add some improved docs | Titus Wormer | 2022-06-13 | 9 | -22/+34 |
| | |||||
* | Add support for sanitizing urls | Titus Wormer | 2022-06-13 | 1 | -6/+4 |
| | | | | | | * Add support for properly encoding characters in urls * Add support for sanitizing potentially dangerous urls * Add safe defaults, optionally live dangerously |