Read the block nodes back, and stop a marker change splitting a list #40

Merged
lilleman merged 6 commits from block-nodes-read-back into main 2026-09-01 20:23:29 +02:00
Owner

corpus/round-trip/block-nodes/ joins the parsing directories: the codeBlock directive's fenced
body, the media family and both table forms read back. fenceInfo moves to markdown/ so both
directions pick the language's slot from one rule, and the pipe table's row grammar sits in
markdown/pipe-table-syntax.ts beside the spelling it inverts.

container-block-separation becomes a round-trip pair on the settled rule — a blank line only
where its absence would merge the blocks — which empties corpus/unspellable/, so the directory,
its runner arm and unspelled-block-separation all go.

Two maintainer decisions landed with the work. The directive's fenced body is an ordinary fence,
so its info string decodes escapes as any other does; only the slot is enforced. And the second
parse-then-emit hole the chunk turned up — CommonMark opens a new list on a marker change, so
- a over * b built two adjacent bulletList nodes adfToMarkdown refuses — closes by
continuing the list, which 3k owes the spec suite one exception for.

`corpus/round-trip/block-nodes/` joins the parsing directories: the `codeBlock` directive's fenced body, the media family and both table forms read back. `fenceInfo` moves to `markdown/` so both directions pick the language's slot from one rule, and the pipe table's row grammar sits in `markdown/pipe-table-syntax.ts` beside the spelling it inverts. `container-block-separation` becomes a round-trip pair on the settled rule — a blank line only where its absence would merge the blocks — which empties `corpus/unspellable/`, so the directory, its runner arm and `unspelled-block-separation` all go. Two maintainer decisions landed with the work. The directive's fenced body is an ordinary fence, so its info string decodes escapes as any other does; only the slot is enforced. And the second parse-then-emit hole the chunk turned up — CommonMark opens a new list on a marker change, so `- a` over `* b` built two adjacent `bulletList` nodes `adfToMarkdown` refuses — closes by continuing the list, which 3k owes the spec suite one exception for.
lilleman added 1 commit 2026-09-01 17:59:07 +02:00
lilleman added 1 commit 2026-09-01 18:20:57 +02:00
lilleman added 1 commit 2026-09-01 19:13:15 +02:00
lilleman added 1 commit 2026-09-01 20:11:44 +02:00
lilleman added 1 commit 2026-09-01 20:21:50 +02:00
lilleman added 1 commit 2026-09-01 20:22:57 +02:00
lilleman merged commit aed2f16664 into main 2026-09-01 20:23:29 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: larvit/adf-codec#40