Commit Graph

4 Commits

Author SHA1 Message Date
gffranco 18f1ddfe7f fix(lexer): don't split table cells on | inside links/code
The table-row lexer collected every `|` as a cell separator, so a pipe
inside a `[[url|title]]` wikilink (or `{{…}}` transclusion / `` `…` ``
inline code) was mistaken for a column boundary — mangling the link and
adding a phantom column in the AST and HTML export.

Replace the naive scan in `try_lex_table_row` with `cell_bar_positions`,
which skips pipes inside those constructs (matching the regions
`lex_inline` tokenises as a unit). Unclosed constructs fall back to
literal openers so a malformed cell can't swallow the rest of the row,
and the scan only slices at ASCII openers to stay UTF-8 safe.

Backslash-escaped `\|` is intentionally left unhandled: the inline lexer
has no escape handling, so honouring it here would leave a stray
backslash in the output. Documented as a matched follow-up.

Adds lexer + HTML-export regression tests.

Closes #1

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Lzhq43v1qpkZczN65dqXa3
2026-07-02 12:30:15 +00:00
gffranco caaafd3cf3 sync: bring Rust crates in line with nuwiki main (v0.4.2)
CI / cargo fmt --check (push) Successful in 31s
CI / cargo clippy (push) Successful in 34s
CI / cargo test (push) Successful in 49s
Release / bump + tag (push) Successful in 52s
Release / build aarch64-unknown-linux-gnu (push) Successful in 1m45s
Release / build x86_64-unknown-linux-gnu (push) Successful in 2m3s
Release / build aarch64-unknown-linux-musl (push) Successful in 2m6s
Release / build x86_64-unknown-linux-musl (push) Successful in 2m8s
Release / gitea release (push) Successful in 30s
2026-06-24 09:15:09 +00:00
gffranco 5a102013bb fix(html): keyword-in-heading badge + brackets in wikilink descriptions
CI / cargo fmt --check (push) Successful in 37s
CI / cargo clippy (push) Successful in 39s
CI / cargo test (push) Successful in 49s
2026-06-24 00:26:59 +00:00
gffranco 29a4efb6bc feat: initial nuwiki Rust workspace (core, lsp, ls)
CI / cargo fmt --check (push) Successful in 59s
CI / cargo clippy (push) Successful in 1m20s
CI / cargo test (push) Successful in 1m29s
CI / editor keymaps (push) Failing after 33s
2026-06-24 00:01:59 +00:00