fix(codec): blokinhoud in een lijstitem reist verliesvrij door de visuele modus (#1925) #1936
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!1936
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/codec-list-item-block-content-v2"
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?
Samenvatting
Quills documentmodel is vlak:
listencodeBlockzijn exclusieve blokattributen, dus een codeblok in een lijstitem kon niet als kind van de bulletregel reizen.MarkdownToDeltaplakte de inhoud aan de lijstitem-tekst met eenx-md-codeblock-lang-attribuut, waardoor de fence en de inspringing stil verloren gingen bij de rondgang. Hetzelfde gold voor tabellen en mermaid-diagrammen in lijstitems.De codec voert blokinhoud in een lijstitem nu als
x-embed-list-block-embed met de inspringing bewaard:MarkdownToDelta): onderscheptpreen embeds invisitElementBeforewanneer_listItemIndent >= 0, sluit de lijstitem-regel af, reconstrueert de ruwe markdown (fence voor codeblokken,data-attribuut voor embeds), en draagt het blok als embed met de juiste inspringing (2 spaties per niveau voor ongeordende lijsten, 3 voor geordende).DeltaToMarkdown): deEmbeddableListBlock.toMdSyntaxhandler schrijft de ruwe markdown verbatim terug.indent-attribuut zodat_prefixNumberde nummering niet verbreekt — de teller slaat ingesprongen niet-lijst-regels over.Wat er verandert aan het bestandsformaat
Niets. De round-trip was al supposed to be lossless; deze fix maakt het daadwerkelijk lossless. De Markdown die er uit komt is standaard GFM met ingesprongen blokinhoud in lijstitems — precies wat de CommonMark/GFM-spec voorschrijft voor geneste blokken.
Wat de bewaker zou moeten weten
Deze wijziging raakt de vendored
markdown_quillfork (third_party/) en de codec die de Markdown-round-trip verzorgt. De verandering is een bugfix, geen format- of opslagwijziging: de visuele modus herschreef blokinhoud in lijstitems stil, en dit herstelt de oorspronkelijke Markdown. Geen nieuwe afhankelijkheid, geen uitgaand verkeer, geen publieke belofte die verandert.Testplan
test/markdown_quill_codec_test.dartmake checkvolledig groen — 10 pre-existing test-failures oporigin/main(logo, l10n, SBOM, docs) zijn niet door deze wijziging veroorzaaktGenerated with Devin
Pull request closed