Latest Results
feat: Cover the table syntax and attribute reference page (#539)
Add spec coverage for `docs/modules/tables/pages/table-ref.adoc`, with a
dedicated `verifies!` test per row of the reference table.
Each row asserts the parser's actual behavior for that attribute:
* Rows the crate acts on are checked through the `TableBlock` API: caption,
cols (count/width/style), format (PSV/CSV/TSV/DSV), separator (top-level
`|`, nested `!`, and user-defined), frame, grid, stripes, the
`header`/`footer`/`autowidth` options, role, and width.
* Rows that Asciidoctor does not recognize (`align`, `halign`, `valign`) or
that only affect a rendering backend (`float`, `orientation`, `rotate`,
`breakable`/`unbreakable`) are still verified: the attribute is accepted
and provably leaves the parsed table's structure and alignment unchanged,
which is this crate's normative behavior since it does no rendering.
Only the page intro and the closing table delimiter are non-normative.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> test: Cover the table syntax and attribute reference page
Add spec coverage for `docs/modules/tables/pages/table-ref.adoc`, with a
dedicated `verifies!` test per row of the reference table.
Each row asserts the parser's actual behavior for that attribute:
* Rows the crate acts on are checked through the `TableBlock` API: caption,
cols (count/width/style), format (PSV/CSV/TSV/DSV), separator (top-level
`|`, nested `!`, and user-defined), frame, grid, stripes, the
`header`/`footer`/`autowidth` options, role, and width.
* Rows that Asciidoctor does not recognize (`align`, `halign`, `valign`) or
that only affect a rendering backend (`float`, `orientation`, `rotate`,
`breakable`/`unbreakable`) are still verified: the attribute is accepted
and provably leaves the parsed table's structure and alignment unchanged,
which is this crate's normative behavior since it does no rendering.
Only the page intro and the closing table delimiter are non-normative.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> test: Cover the table syntax and attribute reference page
Add spec coverage for `docs/modules/tables/pages/table-ref.adoc`, with a
dedicated test per row of the reference table.
Normative rows assert observable parser behavior via the `TableBlock` API:
caption, cols (count/width/style), format (PSV/CSV/TSV/DSV), separator
(top-level `|`, nested `!`, and user-defined), frame, grid, stripes, the
`header`/`footer`/`autowidth` options, role, and width.
Rows that Asciidoctor does not recognize (`align`, `halign`, `valign`) or
that only affect a rendering backend (`float`, `orientation`, `rotate`,
`breakable`/`unbreakable`) are marked non-normative, since this crate does
no rendering; each still carries a test confirming the attribute parses
without disturbing the table's structure or alignment.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> feat: Support CSV, TSV, and DSV table data formats (#537)
Implement the table data formats described in
`docs/modules/tables/pages/data-format.adoc`:
* The `format` attribute selects the data format (`psv`, `csv`, `tsv`,
or `dsv`), exposed as `TableBlock::data_format()` -> `DataFormat`.
* The `,===` and `:===` shorthand delimiters select the CSV and DSV
formats without an explicit `format` attribute.
* CSV/TSV parsing (loosely RFC 4180): empty lines skipped, surrounding
whitespace stripped, double-quote enclosure with `""` escaping and
retained newlines, and ragged rows flowed into fixed-width rows with
leftover cells dropped.
* DSV parsing: colon default separator, backslash-escaped separators
(`\:`), no enclosing character.
* Custom separators via the `separator` attribute, including multi-byte
characters (e.g. the broken bar `¦` for PSV), multi-character strings,
and the `\t` tab escape.
* Per-column cell formatting via the `cols` spec for data tables.
The PSV cell scanner now matches a string separator rather than a single
byte, so a non-ASCII `separator` (such as `¦`) works for PSV tables.
Adds verbatim, line-by-line spec coverage for data-format.adoc.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Latest Branches
-10%
0%
0%
© 2026 CodSpeed Technology