From c8a6fc11728ea7d1b7c17240b6cb970d36ad3ca6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Fr=C3=B3es=20Franco?= Date: Tue, 12 May 2026 22:15:58 +0000 Subject: [PATCH] parity(8b): multi-line list item continuation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lines indented strictly past a list item's marker now attach to that item rather than becoming a sibling paragraph. Matches upstream vimwiki + Markdown convention. Before: - first item continuing here ← rendered as a separate

- second Now: - first item continuing here ← one

  • , joined with a space - second The detection lives in `parse_list_item`: after the item's first line, we loop over subsequent lines and treat each as continuation when its leading whitespace exceeds the marker's column. Two flavours need handling because the lexer emits different tokens based on indent width: * 1..3 leading spaces → `Text(s)` with the whitespace embedded; we trim it off the first text token before re-running `parse_inline_seq`. * 4+ leading spaces → `BlockquoteIndent` + bare `Text`; we advance past the indent token and use the text as-is. Continuation also works inside nested lists (`level + 1` threshold adapts to the marker's own indent) and is bounded by blank lines / unindented content / sibling-or-shallower list markers. Tests: 6 new in `crates/nuwiki-core/tests/list_continuation.rs` covering single-line continuation, multi-line continuation, blank- line termination, unindented termination, nested-list continuation, and the HTML-renderer regression (single `