[VS Code] Single-line display math ($$...$$) renders with literal dollar signs in "Quarto: Equation" assist preview
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript, vscode
- Ambito
- devtools
Direzione di ricerca
L’issue indica l’estrazione matematica di fallback di Quarto Language Server in apps/vscode / out/lsp/lsp.js. Leggi l’ordine di corrispondenza delle regex e controlla come l’anteprima di Equation assist riceve il testo estratto; prova l’esempio di matematica in modalità display su una sola riga dell’issue. Il lavoro è completato quando la matematica in modalità display viene visualizzata nell’anteprima senza segni del dollaro e la matematica inline continua a essere renderizzata correttamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug description
When the cursor is positioned on a single-line display math equation (e.g., $$ y = mx + q $$), the Quarto: Equation assist panel renders the equation with spurious literal dollar signs at both ends:
$y = mx + q$
In contrast, standard inline math on a single dollar delimiter (e.g., $y = mx + q$) renders cleanly without any dollar signs.
Steps to reproduce
- Open a
.qmddocument in VS Code with the Quarto extension installed and enabled. - Type a display math equation on a single line, for example:
$$ y + 0.900 = 9.638 x^{-1.394} $$ - Place the cursor anywhere within or on that line.
- Inspect the Quarto: Equation assist panel in the sidebar/panel.
Actual behavior
The equation preview in the Quarto: Equation panel renders with visible dollar symbols:
$y + 0.900 = 9.638 x^{-1.394}$
Expected behavior
The equation preview should render cleanly without leading or trailing dollar signs:
y + 0.900 = 9.638 x^{-1.394}
Your environment
vscode
ubuntu
Root Cause Analysis
In the Quarto Language Server (apps/vscode / out/lsp/lsp.js), the fallback math extraction function for the current line evaluates the inline math regex before the display math regex:
return findMatch(pos, line, inlineRegex) || findMatch(pos, line, displayRegex);
Where:
inlineRegex:/\$([^ ].*?[^ ]?)\$/gdisplayRegex:/\$\$([^\n]+?)\$\$/
When scanning a line containing single-line display math like $$ y + 0.900 = 9.638 x^{-1.394} $$:
- The inline regex (
inlineRegex) matches first. - The 1st
$satisfies the opening delimiter\$. - The 2nd
$(not being whitespace[^ ]) is treated as the start of the formula text group([^ ].*?[^ ]?). - The 3rd
$satisfies the closing delimiter\$. - The extracted string passed to the MathJax renderer is
$ y + 0.900 = 9.638 x^{-1.394} $. - MathJax renders the unstripped dollar signs as literal text.
Suggested Fix
- Evaluate
displayRegexbeforeinlineRegex:return findMatch(pos, line, displayRegex) || findMatch(pos, line, inlineRegex);
- Lingua principale
- TypeScript
- Stelle
- 655
- Fork
- 64
- Merge medio
- 20h 53m
- PR unite (30g)
- 46
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di quarto-dev/quarto
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
quarto-dev/quarto#1139 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 90/100
quarto-dev/quarto#1138 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
quarto-dev/quarto#1137 ·
I maintainer di solito rispondono entro 1 giorno
-
Add dependabot?Forse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
quarto-dev/quarto#1135 ·
I maintainer di solito rispondono entro 1 giorno
-
vscode
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
quarto-dev/quarto#934 · 1 commento · 2 reazioni ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di quarto-dev/quarto
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
microsoft/playwright#43640 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
grasshopper-protocol/grsshppr#172 ·
I maintainer di solito rispondono entro 1 giorno
-
bug help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Tencent/teamai-cli#1397 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
DouyinFE/semi-design#3641 ·
I maintainer di solito rispondono entro 3 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno