fix(documentweergave): een afgebroken opsommingsregel blijft bij zijn item #1513
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!1513
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/lijst-vervolgregel"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Sluit #1507.
Wat er mis was
Een lijstitem dat in de bron over twee regels loopt, werd in de weergave een losse alinea: zonder bolletje, op de linkermarge, met de lijst visueel in tweeën. De lus die een lijst opbouwt hield alleen regels aan die zélf een item zijn, dus de vervolgregel viel door naar de alinea-tak.
CommonMark noemt zo'n regel een lazy continuation en rekent hem bij het item erboven. Dat doet de weergave nu ook.
Gevonden bij de beeldkeuring van de pagina-weergave (#1506). Behalve lelijk was het ook meetbaar fout: de losse alinea telde als een eigen blok en verschoof daarmee de plek van een pagina-einde.
De begrenzing
De nieuwe tak is bewust smal: een lege regel sluit de lijst nog steeds af, en een regel die zelf een blok begint — kop, streep, citaat, tabel, codefence — ook. Daar staan vier tests op, want dit is precies het soort tak dat te gulzig wordt.
Die begrenzing leunt volledig op
_isParagraphLine. Dat is de juiste plek (dezelfde functie bepaalt elders al wat een alinea is), maar het betekent dat een toekomstig bloktype dat aan die functie ontsnapt stil door de lijst wordt opgeslokt. De vier grenstests dekken de bestaande gevallen af.Tests
test/document_markdown_list_continuation_test.dart— aantoonbaar rood tegen de onherstelde code (twee blokken waar er één hoort), inclusief een widget-toets die telt dat er twee bolletjes staan en niet twee plus een zwevende regel.Poorten
make checkgroen (10.459 tests, dekking 86,9%). Geen enkele toets die docs-inhoud of blokaantallen naloopt is omgevallen.make check-secretsgroen,make sastgroen (0 findings).