pampa: footnote text on the line after `[^1]:` reports Q-2-29 "Indented Footnote Content" although nothing is indented
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 68/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- rust
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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
::: ^1block 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) viacrates/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
- 主要言語
- Rust
- スター
- 283
- フォーク
- 20
- 平均マージ
- 19時間 28分
- マージ済み PR(30日)
- 174
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
quarto-dev/q2 のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
quarto-dev/q2#957 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
quarto-dev/q2#988 ·
メンテナーはふだん 1 日以内に返信
-
q2 mcp: can't upload a full-size screenshot because images go through the conversation as base64オープン
難易度 4/5 3〜5日 初心者へのやさしさ 54/100
quarto-dev/q2#987 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
quarto-dev/q2#986 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
quarto-dev/q2#985 ·
メンテナーはふだん 1 日以内に返信
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
calcit-lang/caps#16 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
penso/herdr-gpui#934 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Y-ASLant/ElegantClipboard#178 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
linxiv-dev/linXiv#384 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
priority middle
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
KATO-Hiro/AtCoderClans#12945 ·
メンテナーはふだん 1 日以内に返信