diff --git a/codex-rs/tui/src/markdown_render/math/render.rs b/codex-rs/tui/src/markdown_render/math/render.rs index 7a93d48279..acea300b6f 100644 --- a/codex-rs/tui/src/markdown_render/math/render.rs +++ b/codex-rs/tui/src/markdown_render/math/render.rs @@ -232,6 +232,7 @@ impl MathParser<'_> { return match self.take()? { ',' | ';' | ':' | ' ' => Some(Layout::text(" ")), '!' => Some(Layout::text("")), + '%' => Some(Layout::text("%")), '{' => Some(Layout::text("{")), '}' => Some(Layout::text("}")), '|' => Some(Layout::text("‖")), diff --git a/codex-rs/tui/src/markdown_render/math_display_tests.rs b/codex-rs/tui/src/markdown_render/math_display_tests.rs index a7a00877a0..f6e709f156 100644 --- a/codex-rs/tui/src/markdown_render/math_display_tests.rs +++ b/codex-rs/tui/src/markdown_render/math_display_tests.rs @@ -29,6 +29,10 @@ $$ $$\frac{1}{2}\frac{3}{4}$$ +$$ +3.8\% +$$ + \[ \int_0^1 x^2\,dx=\frac{1}{3} \] diff --git a/codex-rs/tui/src/markdown_render/math_tests.rs b/codex-rs/tui/src/markdown_render/math_tests.rs index 05dc3c8d18..e398216ffe 100644 --- a/codex-rs/tui/src/markdown_render/math_tests.rs +++ b/codex-rs/tui/src/markdown_render/math_tests.rs @@ -17,6 +17,7 @@ fn unicode_math_inline_snapshot() { insta::assert_snapshot!(plain( r"Inline $\alpha^2 + \beta_{10}$ on $\mathbb{R}^n$. Root $\sqrt{x^2+y^2}$ and fraction $a/\frac{b}{c}$. +Percent: $3.8\%$ and $100000 \times 3.8\% \times \frac{360}{365} \approx 3747.95$. Unsupported: $\unknown{x_y}$ and $\frac{a}{b}^2$. Angles: <$x$>, <\(\alpha\)>, and <$\unknown{x}$>. Code: `$\alpha$`; money: $5 and $10; shell: $HOME.", diff --git a/codex-rs/tui/src/markdown_render/snapshots/codex_tui__markdown_render__math__display_tests__unicode_math_snapshot.snap b/codex-rs/tui/src/markdown_render/snapshots/codex_tui__markdown_render__math__display_tests__unicode_math_snapshot.snap index 06ecd1fc13..65111bf70b 100644 --- a/codex-rs/tui/src/markdown_render/snapshots/codex_tui__markdown_render__math__display_tests__unicode_math_snapshot.snap +++ b/codex-rs/tui/src/markdown_render/snapshots/codex_tui__markdown_render__math__display_tests__unicode_math_snapshot.snap @@ -12,6 +12,8 @@ x=──────────── ─ ─ 2 4 +3.8% + 1 1 ∫ x² dx= ─ 0 3 diff --git a/codex-rs/tui/src/markdown_render/snapshots/codex_tui__markdown_render__math__tests__unicode_math_inline_snapshot.snap b/codex-rs/tui/src/markdown_render/snapshots/codex_tui__markdown_render__math__tests__unicode_math_inline_snapshot.snap index 4ef059160a..78d776ef3b 100644 --- a/codex-rs/tui/src/markdown_render/snapshots/codex_tui__markdown_render__math__tests__unicode_math_inline_snapshot.snap +++ b/codex-rs/tui/src/markdown_render/snapshots/codex_tui__markdown_render__math__tests__unicode_math_inline_snapshot.snap @@ -1,10 +1,11 @@ --- source: tui/src/markdown_render/math_tests.rs assertion_line: 16 -expression: "plain(r\"Inline $\\alpha^2 + \\beta_{10}$ on $\\mathbb{R}^n$.\nRoot $\\sqrt{x^2+y^2}$ and fraction $a/\\frac{b}{c}$.\nUnsupported: $\\unknown{x_y}$ and $\\frac{a}{b}^2$.\nAngles: <$x$>, <\\(\\alpha\\)>, and <$\\unknown{x}$>.\nCode: `$\\alpha$`; money: $5 and $10; shell: $HOME.\",\n80)" +expression: "plain(r\"Inline $\\alpha^2 + \\beta_{10}$ on $\\mathbb{R}^n$.\nRoot $\\sqrt{x^2+y^2}$ and fraction $a/\\frac{b}{c}$.\nPercent: $3.8\\%$ and $100000 \\times 3.8\\% \\times \\frac{360}{365} \\approx 3747.95$.\nUnsupported: $\\unknown{x_y}$ and $\\frac{a}{b}^2$.\nAngles: <$x$>, <\\(\\alpha\\)>, and <$\\unknown{x}$>.\nCode: `$\\alpha$`; money: $5 and $10; shell: $HOME.\",\n80)" --- Inline α² + β₁₀ on ℝⁿ. Root √(x²+y²) and fraction a/((b)/(c)). +Percent: 3.8% and 100000 × 3.8% × ((360)/(365)) ≈ 3747.95. Unsupported: $\unknown{x_y}$ and $\frac{a}{b}^2$. Angles: , <α>, and <$\unknown{x}$>. Code: $\alpha$; money: $5 and $10; shell: $HOME.