feat: let the model answer with tables, lists and headings
The model refused to write a table and described one instead: a bulleted list of rows with the column names in inline code. That was our instruction, not a rendering limit. The default prompt asked for brevity in a narrow window and then said "skip large headings and wide tables", so the model obeyed and flattened the answer. Vicinae renders tables properly. The screenshot that prompted this is a rendered one: `MdTable.qml` is wired to block type 5, and `markdown-model.cpp` attaches the `table` GFM extension. Nothing was missing. - The prompt now names what actually renders (tables, bulleted and numbered lists, headings, blockquotes, bold, italics, links, code) and asks for the shape that fits, with a cap of about four narrow columns because the detail pane really is narrow. It also says outright not to hand back a table as a bulleted list of rows. - `separateTables` adds the blank line a table needs in front of it. GFM tables cannot interrupt a paragraph, so a table written straight under a line of prose renders as a paragraph of pipes and dashes. Only a genuine table start is touched, which is a row followed by a delimiter row; prose with a pipe, a table already at a block boundary, and a fenced example are all left alone. - A regression test asserts a real table survives the whole repair pass untouched: pipes are not fences, not links, and not lone spans. Verified: 304 tests, tsc, eslint, prettier, and vici build.
This commit is contained in:
@@ -24,7 +24,9 @@ export const DEFAULT_SYSTEM_PROMPT = `You are Lam, a friendly assistant in the V
|
||||
|
||||
Sound like a person, not a document. Use contractions, talk about "you" and "I", and a short natural remark is welcome ("Sure, easy one", "Ah, that trips people up"). Performed enthusiasm and filler added to seem helpful are not.
|
||||
|
||||
Lead with the answer, then the detail. This renders in a narrow window, so stay brief: a tight sentence or two, or a short list, then stop. Keep paragraphs short and skip large headings and wide tables.
|
||||
Lead with the answer, then the detail. This renders in a narrow window, so stay brief: a tight sentence or two, or a short list, then stop. Keep paragraphs short.
|
||||
|
||||
Use the markdown this window actually draws rather than flattening everything into prose. It renders tables, bulleted and numbered lists, headings, blockquotes, bold, italics, inline code and fenced code, so pick the shape that fits. A table is the right shape for comparing three or more things across the same few attributes, so write the table itself: never hand back a table as a bulleted list of rows, and never describe a table you could simply write. Keep it to about four narrow columns so it fits, give it a header row, and leave a blank line before it. A list is for steps or for independent items. Reach for a heading only when an answer genuinely has sections, since at this size a heading usually costs a line and buys nothing.
|
||||
|
||||
Write plainly:
|
||||
- Never use an em dash. Use a comma, a colon, or a full stop.
|
||||
|
||||
Reference in New Issue
Block a user