aboutsummaryrefslogtreecommitdiffstats
path: root/src/util (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-10-13Add some unit tests for internal character functionsLibravatar Titus Wormer1-15/+102
2022-10-13Rename crate to `markdown`Libravatar Titus Wormer6-10/+10
2022-10-11Refactor to use a bunch of `into`Libravatar Titus Wormer3-17/+10
2022-10-11Refactor some hidden internalsLibravatar Titus Wormer2-2/+4
2022-10-11Add some missing internal docsLibravatar Titus Wormer2-14/+25
2022-10-11Add support for proper positional info in swc treeLibravatar Titus Wormer3-49/+144
* Fix some positional info in SWC error messages * Add positional info in `to_document` on duplicate layouts * Add support for `path` on `Program` (`to_swc`, `to_document`, `jsx_rewrite`), for the path of a file on disk * Add support for `development` to `jsx-rewrite`, which when defined will embed info on where tags were written into the runtime code when they are not passed * Refactor to move some utilities to `micromark_swc_utils.rs`, `swc_utils.rs`
2022-10-06Refactor to share identifier methodsLibravatar Titus Wormer2-0/+16
2022-10-06Add support for HTML 4 character references in JSX attributesLibravatar Titus Wormer4-94/+475
2022-09-28Add support for turning mdast to hastLibravatar Titus Wormer1-0/+1
2022-09-26Add support for compiling to mdastLibravatar Titus Wormer3-2/+195
See: <https://github.com/syntax-tree/mdast>.
2022-09-19Add support for parsing MDX ESM, expressionsLibravatar Titus Wormer2-0/+71
This commit adds support for hooks that lets a user integrate another parser with `micromark-rs`, to parse ESM and expressions according to a particular grammar (such as a programming language, typically JavaScript). For an example integrating with SWC, see `tests/test_utils/mod.rs`. The integration occurs with two functions passed in `options`: `mdx_expression_parse` and `mdx_esm_parse`. The can signal back to micromark when they are successful, whether there is an error at the end (in which case micromark will try to parse more), or whether there is a syntax error (in which case micromark will crash).
2022-09-09Refactor to move byte, char info to own fileLibravatar Titus Wormer4-119/+167
2022-09-06Add initial states for MDX JSX (text)Libravatar Titus Wormer1-1/+24
2022-09-05Fix some todosLibravatar Titus Wormer1-0/+7
2022-09-05Add support for getting `char`s from bytesLibravatar Titus Wormer1-0/+22
2022-09-01Add support for GFM tagfilterLibravatar Titus Wormer4-29/+154
2022-08-26Add support for math (flow)Libravatar Titus Wormer1-4/+4
2022-08-22Add support for GFM task list itemLibravatar Titus Wormer1-2/+10
2022-08-19Refactor to move more things to `util/`Libravatar Titus Wormer6-3/+3292
2022-08-18Add support for GFM autolink literalsLibravatar Titus Wormer2-0/+73
2022-08-16Add `no_std + alloc`Libravatar Titus Wormer6-1/+13
2022-08-15Refactor to proof docs, grammarsLibravatar Titus Wormer8-33/+39
2022-08-12Refactor to improve docs of each functionLibravatar Titus Wormer3-20/+18
2022-08-11Refactor to move some code to `event.rs`Libravatar Titus Wormer3-35/+25
2022-08-01Add missing docs, refactor some codeLibravatar Titus Wormer1-13/+26
2022-08-01Refactor to pass more `&str`s, work on more bytesLibravatar Titus Wormer1-0/+5
2022-07-29Refactor to improve statesLibravatar Titus Wormer5-76/+91
* 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-26/+18
2022-07-28Refactor to use `debug_assert`Libravatar Titus Wormer1-1/+1
2022-07-28Refactor to work on `char`sLibravatar Titus Wormer6-188/+167
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-22Refactor to use a single shared edit mapLibravatar Titus Wormer1-9/+6
2022-07-22Refactor to remove unneeded tuples in every statesLibravatar Titus Wormer2-2/+2
2022-07-21Refactor performance around links in subtokenizeLibravatar Titus Wormer1-28/+35
2022-07-21Refactor to move `index` field to `point`Libravatar Titus Wormer1-2/+2
2022-07-21Refactor to move some event fields to `link`Libravatar Titus Wormer1-3/+5
2022-07-20Refactor to improve allocation around stringsLibravatar Titus Wormer4-82/+65
2022-07-20Refactor to use less vecs for eventsLibravatar Titus Wormer1-42/+28
2022-07-19Refactor to remove cloning in `edit_map`Libravatar Titus Wormer1-19/+25
2022-07-19Use `edit_map` in `subtokenize`Libravatar Titus Wormer1-14/+1
2022-07-19Remove another unneeded `HashMap`Libravatar Titus Wormer1-40/+38
2022-07-18Fix dead link in docsLibravatar Titus Wormer1-3/+3
2022-07-18Fix edge case in identifier normalizationLibravatar Titus Wormer1-1/+9
2022-07-15Fix to use single array for character referencesLibravatar Titus Wormer1-7/+4
2022-07-14Add support for container stateLibravatar Titus Wormer2-7/+15
* 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-13Fix lists in lists and some other bugsLibravatar Titus Wormer1-6/+0
2022-07-12Fix some issues around empty listsLibravatar Titus Wormer1-1/+4
2022-07-12Fix a lot of list thingsLibravatar Titus Wormer1-7/+34
* Add `ListItem`, `ListOrdered`, and `ListUnordered` tokens * Add support for multiline list items * Add support for tight lists * Fix bug where 10 digit long list item values worked * Fix skip bug when skipping over nested events
2022-07-11Add tests for matching identifiers w/ turkish `i`Libravatar Titus Wormer1-1/+0
2022-07-07Refactor to move token types to `token`Libravatar Titus Wormer1-4/+5
2022-07-07Refactor to use `char::REPLACEMENT_CHARACTER`Libravatar Titus Wormer2-2/+2