pampa: footnote text on the line after `[^1]:` reports Q-2-29 "Indented Footnote Content" although nothing is indented

Aperta
#947 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
68/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
rust
Ambito
documentation

Direzione di ricerca

Start with crates/pampa/resources/error-corpus/Q-2-29.json and trace how its guard is evaluated in crates/quarto-parse-errors/src/error_generation.rs; compare the indented and non-indented reproductions in the issue. Check docs/errors/markdown/Q-2-29.qmd for the current wording. Done when non-indented or missing text gets an accurate diagnostic, while genuinely indented content still gets the intended message.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug error-messages

Reported by @atheriel while porting the Posit Connect documentation from Quarto 1.9.32 to q2 0.36.0. Reproduced on main at 3f7d4b0e8 (q2 0.36.0, macOS). Split out of a second batch of parsing reports; sibling: #946 ($ in prose).

Problem

A footnote label with its text on the following line reports [Q-2-29] Indented Footnote Content Not Supported, but nothing is indented:

[^1]

[^1]:
Text.
Error: [Q-2-29] Indented Footnote Content Not Supported
   ╭─[ f1.qmd:3:6 ]
 3 │ [^1]:
   │ ──┬──┬
   │   ╰───── This footnote definition has indented content, which is not supported in quarto markdown.
   │      │
   │      ╰── Quarto markdown does not support indented footnote content. Use the div syntax instead: `::: ^ref ... :::`.
───╯

Pandoc reads Text. as a lazy continuation and makes it the footnote body. #202 established that q2 will not support Pandoc-style footnote continuations, so rejecting this input is expected. The problem is the message: it describes a different mistake. A reader who checks their file for indentation finds none and is stuck.

The same message also appears for a label with nothing after it at all:

[^1]

[^1]:

So the diagnostic is really "footnote definition has no text on its line", and the indented case is one of three inputs that reach it.

Repro

Input (after [^1] + blank line) Result
[^1]: newline Text. Q-2-29, "indented content"
[^1]: newline Text. Q-2-29 (the case the message was written for)
[^1]: alone Q-2-29, "indented content"
[^1]: Text. OK

Expected

When the line after the label is not indented (or there is no following line), the message should say that the definition has no text on its line, and suggest:

  • [^1]: Text. for a single-paragraph note, or
  • the ::: ^1 block form for multi-paragraph notes.

The existing indented-content wording can stay for the indented case, or the two can share a neutral title like "Footnote definition has no content on its line" with the div-syntax hint. Either way, "indented" should only appear when the next line is actually indented.

Pointers

  • Diagnostics are table-driven from crates/pampa/resources/error-corpus/ (Q-2-29.json) via crates/quarto-parse-errors/src/error_generation.rs; the corpus guard for Q-2-29 presumably matches on the [^1]: parser state regardless of what follows. A guard on the next line's leading whitespace, or a second corpus entry, would split the cases.
  • Docs: docs/errors/markdown/Q-2-29.qmd.

cc @atheriel

Lingua principale
Rust
Stelle
283
Fork
20
Merge medio
19h 33m
PR unite (30g)
165

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di quarto-dev/q2

Tutte le issue di quarto-dev/q2

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.