chabeau/ui/markdown/metadata.rs
1use crate::ui::span::SpanKind;
2use ratatui::text::Line;
3
4/// Description of a rendered message (line-based), used by the TUI renderer.
5pub struct RenderedMessage {
6 pub lines: Vec<Line<'static>>,
7}
8
9/// Extended render metadata used by the layout engine when downstream consumers
10/// need per-message spans.
11pub struct RenderedMessageDetails {
12 pub lines: Vec<Line<'static>>,
13 pub span_metadata: Option<Vec<Vec<SpanKind>>>,
14}
15
16impl RenderedMessageDetails {
17 pub fn into_rendered(self) -> RenderedMessage {
18 RenderedMessage { lines: self.lines }
19 }
20}