Private
Public Access
0
0

fix(md_renderer_py): use Style.color_(Col_.X) API for imgui-bundle 1.92.5

The imgui-bundle 1.92.5 API changed:
  OLD: imgui.get_style().colors[imgui.Col_.text]
  NEW: imgui.get_style().color_(imgui.Col_.text)

The Style object no longer has a 'colors' dict; it has a 'color_'
method that takes a Col_ enum and returns the ImVec4 color.

Updated all 9 call sites in md_renderer_py.py and the test mocks
in test_md_renderer_py.py, test_markdown_helper_bullets.py, and
test_markdown_render_robust.py.

42/42 tests pass.
This commit is contained in:
Conductor
2026-06-03 23:06:05 -04:00
parent 3117061be5
commit 2d1d37779f
4 changed files with 12 additions and 19 deletions
+9 -9
View File
@@ -400,7 +400,7 @@ class MarkdownRenderer:
if external is not None:
external(content, lang)
return
imgui.push_style_color(imgui.Col_.text, imgui.get_style().colors[imgui.Col_.text_disabled])
imgui.push_style_color(imgui.Col_.text, imgui.get_style().color_(imgui.Col_.text_disabled))
imgui.text_wrapped(content if content else "")
imgui.pop_style_color()
@@ -424,7 +424,7 @@ class MarkdownRenderer:
if external is not None:
external(content, lang)
return
imgui.push_style_color(imgui.Col_.text, imgui.get_style().colors[imgui.Col_.text_disabled])
imgui.push_style_color(imgui.Col_.text, imgui.get_style().color_(imgui.Col_.text_disabled))
imgui.text_wrapped(content if content else "")
imgui.pop_style_color()
@@ -549,7 +549,7 @@ class MarkdownRenderer:
imgui.pop_style_color()
def _emit_inline_code(self, text: str) -> None:
bg = imgui.get_style().colors[imgui.Col_.frame_bg]
bg = imgui.get_style().color_(imgui.Col_.frame_bg)
bg = (bg.x, bg.y, bg.z, min(1.0, bg.w + 0.1))
imgui.push_style_color(imgui.Col_.button, bg)
imgui.push_style_color(imgui.Col_.button_hovered, bg)
@@ -561,7 +561,7 @@ class MarkdownRenderer:
imgui.same_line()
def _emit_link(self, text: str, href: str) -> None:
link_color = imgui.get_style().colors[imgui.Col_.button]
link_color = imgui.get_style().color_(imgui.Col_.button)
imgui.push_style_color(imgui.Col_.text, link_color)
imgui.text_wrapped(text)
size = imgui.calc_text_size(text)
@@ -592,31 +592,31 @@ class MarkdownRenderer:
imgui.text(f"[image: {alt or src}]")
def _push_em(self) -> None:
col = imgui.get_style().colors[imgui.Col_.text]
col = imgui.get_style().color_(imgui.Col_.text)
dim = (col.x * 0.75, col.y * 0.75, col.z * 0.75, col.w)
imgui.push_style_color(imgui.Col_.text, dim)
imgui.push_style_color(imgui.Col_.text, dim)
def _push_strong(self) -> None:
col = imgui.get_style().colors[imgui.Col_.text]
col = imgui.get_style().color_(imgui.Col_.text)
bright = (min(1.0, col.x * 1.2), min(1.0, col.y * 1.2), min(1.0, col.z * 1.2), col.w)
imgui.push_style_color(imgui.Col_.text, bright)
imgui.push_style_color(imgui.Col_.text, bright)
def _push_strikethrough(self) -> None:
col = imgui.get_style().colors[imgui.Col_.text]
col = imgui.get_style().color_(imgui.Col_.text)
dim = (col.x * 0.6, col.y * 0.6, col.z * 0.6, col.w)
imgui.push_style_color(imgui.Col_.text, dim)
imgui.push_style_color(imgui.Col_.text, dim)
def _push_underline(self) -> None:
col = imgui.get_style().colors[imgui.Col_.text]
col = imgui.get_style().color_(imgui.Col_.text)
underline_col = (col.x * 0.7, col.y * 0.7, col.z, col.w)
imgui.push_style_color(imgui.Col_.text, underline_col)
imgui.push_style_color(imgui.Col_.text, underline_col)
def _push_bold(self) -> None:
col = imgui.get_style().colors[imgui.Col_.text]
col = imgui.get_style().color_(imgui.Col_.text)
bright = (min(1.0, col.x * 1.3), min(1.0, col.y * 1.3), min(1.0, col.z * 1.3), col.w)
imgui.push_style_color(imgui.Col_.text, bright)
imgui.push_style_color(imgui.Col_.text, bright)
+1 -1
View File
@@ -27,7 +27,7 @@ def _mock_imgui(mock_imgui):
mock_imgui.pop_font = MagicMock()
mock_imgui.small_button = MagicMock()
mock_imgui.get_style = MagicMock(return_value=MagicMock(
colors={i: MagicMock(x=1, y=1, z=1, w=1) for i in range(6)}
color_=MagicMock(side_effect=lambda col: MagicMock(x=1, y=1, z=1, w=1))
))
mock_imgui.get_io = MagicMock(return_value=MagicMock(fonts=MagicMock(fonts=[None])))
mock_imgui.calc_text_size = MagicMock(return_value=MagicMock(x=50, y=20))
+1 -1
View File
@@ -28,7 +28,7 @@ def _mock_imgui(mock_imgui):
mock_imgui.pop_font = MagicMock()
mock_imgui.small_button = MagicMock()
mock_imgui.get_style = MagicMock(return_value=MagicMock(
colors={i: MagicMock(x=1, y=1, z=1, w=1) for i in range(6)}
color_=MagicMock(side_effect=lambda col: MagicMock(x=1, y=1, z=1, w=1))
))
mock_imgui.get_io = MagicMock(return_value=MagicMock(fonts=MagicMock(fonts=[None])))
mock_imgui.calc_text_size = MagicMock(return_value=MagicMock(x=50, y=20))
+1 -8
View File
@@ -29,14 +29,7 @@ def _mock_imgui(mock_imgui):
mock_imgui.pop_font = MagicMock()
mock_imgui.small_button = MagicMock()
mock_imgui.get_style = MagicMock(return_value=MagicMock(
colors={
0: MagicMock(x=1, y=1, z=1, w=1),
1: MagicMock(x=0.5, y=0.5, z=0.5, w=1),
2: MagicMock(x=0.1, y=0.1, z=0.1, w=1),
3: MagicMock(x=0.3, y=0.5, z=1.0, w=1),
4: MagicMock(x=0.4, y=0.6, z=1.0, w=1),
5: MagicMock(x=0.5, y=0.7, z=1.0, w=1),
}
color_=MagicMock(side_effect=lambda col: MagicMock(x=1, y=1, z=1, w=1))
))
mock_imgui.get_io = MagicMock(return_value=MagicMock(fonts=MagicMock(fonts=[None])))
mock_imgui.calc_text_size = MagicMock(return_value=MagicMock(x=50, y=20))