From c434ec93ebdc35b44dcd32f2e4b2ed83c4969e13 Mon Sep 17 00:00:00 2001 From: Conductor Date: Wed, 3 Jun 2026 22:47:08 -0400 Subject: [PATCH] fix(markdown): restore options attr on MarkdownRenderer for immapp.AddOnsParams The C++ imgui_md.MarkdownOptions is still needed by immapp.AddOnsParams(with_markdown_options=...) which is passed to immapp.run() in src/gui_2.py:430. The Python port in src/md_renderer_py is for OUR renderer; the immapp markdown viewer is a separate thing that uses the C++ library internally. Both are wired: - self.options: C++ imgui_md.MarkdownOptions for immapp.AddOnsParams - self._py_renderer: Python port for our body content rendering - Both share the on_open_link callback (webbrowser.open / IDE) This fix unblocks 'uv run sloppy.py' which was crashing on 'MarkdownRenderer' object has no attribute 'options' --- src/markdown_helper.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/markdown_helper.py b/src/markdown_helper.py index 82de2643..067a8174 100644 --- a/src/markdown_helper.py +++ b/src/markdown_helper.py @@ -62,6 +62,11 @@ class MarkdownRenderer: ImGuiColorTextEdit for syntax-highlighted code blocks. """ def __init__(self): + self.options = imgui_md.MarkdownOptions() + self.options.font_options.font_base_path = "fonts/Inter" + self.options.font_options.regular_size = 18.0 + self.options.callbacks.on_open_link = self._on_open_link + self._py_renderer = PyMarkdownRenderer() self._py_renderer.options.callbacks.on_open_link = self._on_open_link self._py_renderer.set_external_code_block_handler(self._on_code_block)