aboutsummaryrefslogtreecommitdiffstats
path: root/src/construct (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix some attention bugsLibravatar Titus Wormer2022-07-041-4/+33
| | | | | | * Fix closing many attention from one closer * Fix nested attention * Fix remaining attention markers
* Add support for attention (emphasis, strong)Libravatar Titus Wormer2022-07-043-4/+405
|
* Make paragraphs really fastLibravatar Titus Wormer2022-07-018-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 typesLibravatar Titus Wormer2022-07-014-14/+14
|
* Refactor to clean and document `space_or_tab`Libravatar Titus Wormer2022-07-016-106/+144
|
* Add support for trimming whitespace around string, textLibravatar Titus Wormer2022-06-306-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 grammarLibravatar Titus Wormer2022-06-304-18/+25
|
* Fix a bunch of bugs with definitions, referencesLibravatar Titus Wormer2022-06-292-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 definitionsLibravatar Titus Wormer2022-06-291-13/+4
|
* Add some more crosslinks to docsLibravatar Titus Wormer2022-06-286-28/+29
|
* Add docs to label endLibravatar Titus Wormer2022-06-286-38/+164
|
* Add docs for label start (image, link)Libravatar Titus Wormer2022-06-282-2/+59
|
* Add docs for `RESOURCE_DESTINATION_BALANCE_MAX`Libravatar Titus Wormer2022-06-281-2/+2
|
* Fix jumps in `edit_map`Libravatar Titus Wormer2022-06-289-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)Libravatar Titus Wormer2022-06-248-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 neededLibravatar Titus Wormer2022-06-225-6/+6
|
* Add docs on normalizing identifiers, matchingLibravatar Titus Wormer2022-06-221-7/+37
|
* Add support for normalizing identifiersLibravatar Titus Wormer2022-06-221-5/+0
|
* Add docs on encoding to definition, destinationLibravatar Titus Wormer2022-06-223-7/+47
|
* Refactor some unneeded assignmentsLibravatar Titus Wormer2022-06-222-4/+3
|
* Add `attempt_opt` to tokenizerLibravatar Titus Wormer2022-06-2212-75/+120
|
* Rename `Whitespace` token to `SpaceOrTab`Libravatar Titus Wormer2022-06-227-13/+13
|
* Refactor to improve tokenizer, add docsLibravatar Titus Wormer2022-06-221-6/+8
|
* Add docs for token typesLibravatar Titus Wormer2022-06-2216-31/+140
|
* Add docs for `subtokenize`Libravatar Titus Wormer2022-06-214-4/+5
|
* Add support for capping destination (raw) balanceLibravatar Titus Wormer2022-06-212-4/+4
|
* Add support for passing token types to destination, label, titleLibravatar Titus Wormer2022-06-214-109/+225
|
* Make data a constructLibravatar Titus Wormer2022-06-212-5/+84
|
* Refactor to improve a bunch of statesLibravatar Titus Wormer2022-06-2113-558/+572
| | | | | | * Improve passing stuff around * Add traits to enums for markers and such * Fix “life time” stuff I didn’t understand
* Refactor some codeLibravatar Titus Wormer2022-06-201-32/+31
|
* Add some more enabled testsLibravatar Titus Wormer2022-06-203-4/+0
|
* Add support for line endings in stringLibravatar Titus Wormer2022-06-205-55/+101
|
* Add improved whitespace handlingLibravatar Titus Wormer2022-06-2015-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 paragraphLibravatar Titus Wormer2022-06-2010-11/+206
|
* Remove unneeded `content` content typeLibravatar Titus Wormer2022-06-203-5/+4
|
* Remove unneeded `pub` keywordsLibravatar Titus Wormer2022-06-206-73/+58
|
* Add docs to destination, label, titleLibravatar Titus Wormer2022-06-205-42/+245
|
* Add support for definitionsLibravatar Titus Wormer2022-06-175-2/+714
| | | | | | * Add definitions * Add partials for label, destination, title * Add `go`, to attempt something, and do something else on `ok`
* Add heading (setext)Libravatar Titus Wormer2022-06-164-18/+323
|
* Add support for hard break (trailing)Libravatar Titus Wormer2022-06-164-7/+101
|
* Add support for hard break escapeLibravatar Titus Wormer2022-06-163-7/+68
|
* Add docs on sanitizing urls to autolinkLibravatar Titus Wormer2022-06-151-0/+18
|
* Add support for text in heading (atx)Libravatar Titus Wormer2022-06-151-0/+2
|
* Add code (text)Libravatar Titus Wormer2022-06-154-15/+230
|
* Add tests for character referenceLibravatar Titus Wormer2022-06-151-1/+1
| | | | | * Fix encoding of character references * Fix unneeded remainder in `nok` state
* Fix support for deep subtokenizationLibravatar Titus Wormer2022-06-141-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 utilLibravatar Titus Wormer2022-06-143-6/+5
|
* Add docs on constructs, bnfLibravatar Titus Wormer2022-06-142-0/+56
|
* Add docs for html (text)Libravatar Titus Wormer2022-06-142-67/+289
|
* Add basic html (text)Libravatar Titus Wormer2022-06-132-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 😅