feat(rich): MathConfig + MermaidConfig + CodeRunConfig (#39, #42) #156

Closed
charles wants to merge 4 commits from feat/39-42-math-mermaid-coderun into main
Owner

Résumé

Implémente les issues #39 et #42 dans la crate fractal-rich.

  • src/math.rsMathConfig { latex, display_mode } et MermaidConfig { diagram } avec from_json / render_fallback + tests unitaires
  • src/code_run.rsSupportedLanguage (Python, Javascript) avec from_str / as_str, CodeRunConfig { language, code, expected_output } avec from_json / render_fallback + tests unitaires
  • Cargo.toml — ajout des dépendances workspace serde et serde_json
  • src/lib.rs — exposition des nouveaux modules et de leurs types publics

Comportements des fallbacks

Widget render_fallback()
MathConfig $$<latex>$ (inline ou display selon display_mode)
MermaidConfig bloc code ```mermaid contenant le source
CodeRunConfig bloc code fencé avec le langage et le code

Plan de test

  • cargo test -p fractal-rich — tous les tests unitaires dans math.rs et code_run.rs passent
  • Vérifier que from_json retourne une erreur pour du JSON invalide
  • Vérifier que SupportedLanguage::from_str("rust") retourne None
## Résumé Implémente les issues #39 et #42 dans la crate `fractal-rich`. - **`src/math.rs`** — `MathConfig { latex, display_mode }` et `MermaidConfig { diagram }` avec `from_json` / `render_fallback` + tests unitaires - **`src/code_run.rs`** — `SupportedLanguage` (Python, Javascript) avec `from_str` / `as_str`, `CodeRunConfig { language, code, expected_output }` avec `from_json` / `render_fallback` + tests unitaires - **`Cargo.toml`** — ajout des dépendances workspace `serde` et `serde_json` - **`src/lib.rs`** — exposition des nouveaux modules et de leurs types publics ## Comportements des fallbacks | Widget | `render_fallback()` | |---|---| | `MathConfig` | `$$<latex>$` (inline ou display selon `display_mode`) | | `MermaidConfig` | bloc code ` ```mermaid ` contenant le source | | `CodeRunConfig` | bloc code fencé avec le langage et le code | ## Plan de test - [ ] `cargo test -p fractal-rich` — tous les tests unitaires dans `math.rs` et `code_run.rs` passent - [ ] Vérifier que `from_json` retourne une erreur pour du JSON invalide - [ ] Vérifier que `SupportedLanguage::from_str("rust")` retourne `None`
charles closed this pull request 2026-04-06 02:31:22 +00:00
Some checks are pending
CI / cargo check (pull_request) Has been cancelled
CI / cargo test (pull_request) Has been cancelled
CI / clippy + rustfmt (pull_request) Has been cancelled
qa
Required

Pull request closed

Sign in to join this conversation.
No description provided.