Fix Rich markup rendering in operation log

Use Text.from_markup() for strings containing Rich tags
so [red]...[/red] renders as colored text instead of raw tags.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
shuki
2026-03-06 01:31:15 +02:00
parent 52912bfab7
commit 75f00f6521

View File

@@ -1,3 +1,4 @@
from rich.text import Text
from textual.app import ComposeResult
from textual.screen import ModalScreen
from textual.widgets import RichLog, Button, Static
@@ -25,4 +26,8 @@ class OperationLog(ModalScreen[None]):
self.dismiss(None)
def write(self, text: str) -> None:
self.query_one("#ol-log", RichLog).write(text)
log = self.query_one("#ol-log", RichLog)
if "[" in text and "[/" in text:
log.write(Text.from_markup(text))
else:
log.write(text)