Wit

Known limitations

What Wit does not do yet, or does with a documented rough edge. Every row is re-verified against the current build. Where a fixture pins the behaviour, it is cited.

Parsing and authoring

Parsing
LimitationImpactWorkaround
greedy pipes-bind orderinga pipes call with no same-line close binds to the next closeclose on the same line or place pipes calls last
comment as first child of a containerfollowing blocks collapse into one paragraphblank line after the comment
single-line def with capturesrenders the literal capture listuse the block def form
colon delimiter in data-def recordsLSP rejects it though the CLI tolerates call sitesuse the hyphen delimiter
at-strings in record valuesemails and paths break record parsingkeep at-strings out of record values
inline table cells cannot be quotedcommas split a cell and quotes stay literalavoid commas in cells or use a schema form
a node name opened two waysa self-closing @x(...) plus a block @x … x@ of the same name in one file reads as unclosedopen each node name only one way

Data and access

Data
LimitationImpactWorkaround
numeric index access@list.0 and @rec.0.field render unresolveduse each or feed the collection to a table
bare data-def reference@record emits an empty wit-node placeholderaccess a field or iterate
CSV/TSV sources have no quoted fieldsa comma or tab inside a field breaks rowsemit JSON or pre-clean the data

Rendering

Rendering
LimitationImpactWorkaround
raw table cannot resolve a refa raw double-at table leaves rows @ref literaluse the ordinary table node
HTML renderer is configuration-freeone fixed HTML shape per AST kind; table and bibliography are hard-coded special casespost-process the HTML or restyle with CSS
table centering is theme-onlythe reset-only raw pathway does not centre tablesadd your own CSS under raw
script output only renders in top-level prose@scriptCall and inline percent-blocks render empty inside a node bodykeep scripted output at the top level

Tooling and platform

Tooling
LimitationImpactWorkaround
PDF needs a system Chromeno bundled engineinstall Chrome or Chromium or set WIT_CHROME
config is JSON-onlyno TOML yetuse wit.sources.json
LSP is stricter than the CLIa file can check clean yet show squigglesprefer the portable forms

See also

Gotchas

· Errors · Data model · Tables.