fix(documentweergave): een afgebroken opsommingsregel blijft bij zijn item #1513

Merged
brenno merged 1 commit from fix/lijst-vervolgregel into main 2026-08-17 10:11:46 +00:00
Owner

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 check groen (10.459 tests, dekking 86,9%). Geen enkele toets die docs-inhoud of blokaantallen naloopt is omgevallen. make check-secrets groen, make sast groen (0 findings).

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 check` groen (10.459 tests, dekking 86,9%). Geen enkele toets die docs-inhoud of blokaantallen naloopt is omgevallen. `make check-secrets` groen, `make sast` groen (0 findings).
fix(documentweergave): een afgebroken opsommingsregel blijft bij zijn item
All checks were successful
scans / scans (pull_request) Successful in 2m57s
static-gate / static-gate (pull_request) Successful in 8m4s
c85d9fd143
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 in
tweeën. De lus die een lijst opbouwt hield alleen regels aan die zelf 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. 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 tests op, want dit is precies
het soort tak dat te gulzig wordt.

Gevonden bij de beeldkeuring van de pagina-weergave. Behalve lelijk was
het ook meetbaar fout: de losse alinea telde als een eigen blok en
verschoof daarmee de plek van een pagina-einde.

Sluit #1507.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
brenno merged commit ed4615d21f into main 2026-08-17 10:11:46 +00:00
Sign in to join this conversation.
No description provided.