[VS Code] Single-line display math ($$...$$) renders with literal dollar signs in "Quarto: Equation" assist preview
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript, vscode
- Lĩnh vực
- devtools
Hướng nghiên cứu
Issue đề cập đến phần trích xuất toán học dự phòng của Quarto Language Server trong apps/vscode / out/lsp/lsp.js. Đọc thứ tự khớp regex và kiểm tra cách phần xem trước của Equation assist nhận văn bản đã trích xuất; thử ví dụ toán hiển thị trên một dòng trong issue. Hoàn tất khi toán hiển thị được xem trước mà không có dấu đô la và toán inline vẫn hiển thị đúng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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);
- Ngôn ngữ chính
- TypeScript
- Star
- 655
- Fork
- 64
- Merge trung bình
- 20 giờ 53 phút
- Pull request đã merge (30 ngày)
- 46
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của quarto-dev/quarto
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
quarto-dev/quarto#1139 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 90/100
quarto-dev/quarto#1138 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
quarto-dev/quarto#1137 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Add dependabot?Có thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
quarto-dev/quarto#1135 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
vscode
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
quarto-dev/quarto#934 · 1 bình luận · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của quarto-dev/quarto
Issue tương tự
-
Native Web
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 80/100
digitalfabrik/integreat-app#4517 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
TLS guide repeats certs/ in the certificate directoryCó thể đã có người làm @maheshrijal đã nhận hôm nay. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
prometheus/docs#3156 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
medusajs/dtc-starter#90 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
usability
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
inmanta/web-console#7632 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
zaidmukaddam/scira#261 ·