Repository navigation
Conversation
…d continuation lines - depth is computed from the open items' content columns (CommonMark §5.2) instead of floor(indent / 2): "10. a\n - b" nests b under a, and a lone " - item" is a top-level item - ordered lists keep their start number (<ol start="3">) and accept the ')' delimiter; changing the bullet char or delimiter starts a new list - paragraph text right after an item (indented or lazy) continues the item instead of ending the list - outside a list, a marker indented 4+ columns is indented code (or paragraph text), and an ordered item not starting at 1 cannot interrupt a paragraph - continuation lines are joined once at the end and the "list open" check is cached, so both stay linear Four lexer tests asserted the old floor(indent / 2) depth for a lone indented item; they now nest the item under a real parent. CommonMark spec: List items 10/48 -> 17/48, Lists 6/26 -> 11/26. Multi-block items (several paragraphs, code inside an item) are not supported yet and account for most remaining failures. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CPcuaaxrCottkeL1ykoSWe
Conflicts in src/Lexer/Lexer.php with the blockquote laziness change (#44) and table detection (#45), all side-by-side additions: - quote pattern from main, list patterns from this branch - both state blocks (quote laziness, open list columns) - quote lazy continuation first, then list item continuation - list item placement before table detection (it may turn an item into a paragraph line) Also drops the PATTERN_TABLE_SEPARATOR reference left by #44 (same change as #50), without which every blockquote throws on main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CPcuaaxrCottkeL1ykoSWe
…uation startsBlock() (lists) duplicated the block-start checks of isParagraphContinuation() (blockquote laziness, merged meanwhile). List continuation now uses the shared helper; footnote definitions still end an item. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CPcuaaxrCottkeL1ykoSWe
… item
A list item followed by an ordered sub-list and then a bullet sub-list
("- a\n 1. b\n - c\n- d") only kept the first sub-list: the bullet
one and every later sibling were split into new top-level lists.
buildList() now attaches every deeper list that follows the item, not
just the first.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CPcuaaxrCottkeL1ykoSWe
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problème (point 17 de la review)
Sortie avant : trois listes séparées,
<ul><li>a<ol>…</ol></li></ul><ul><li>c</li></ul><ul><li>d</li></ul>. L'itemane gardait que sa première sous-liste. La sous-liste à pucescet l'item frèredrepartaient au niveau supérieur.Correctif
Parser::buildList()rattache à l'item toutes les sous-listes plus profondes qui le suivent, et plus seulement la première. Ces sous-listes sont distinctes, car changer de type ou de puce démarre une nouvelle liste (§5.3).Sortie :
<ul><li>a<ol><li>b</li></ol><ul><li>c</li></ul></li><li>d</li></ul>. C'est la même structure que markdown-it.Tests
tests/Integration/ListItemTest.php:olpuisulsous unul, et deux puces différentes sous unol.🤖 Generated with Claude Code
https://claude.ai/code/session_01CPcuaaxrCottkeL1ykoSWe
Generated by Claude Code