phoebe/mid-chat/src/content.rs

31 lines
603 B
Rust

pub type ChatMessageContent = Vec<ChatContentComponent>;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum ChatContentComponent {
Plain(String),
Link {
target: String,
text: ChatMessageContent,
},
Italic(ChatMessageContent),
Bold(ChatMessageContent),
Strikethrough(ChatMessageContent),
Underline(ChatMessageContent),
Code(String),
CodeBlock {
lang: Option<String>,
source: String,
},
Spoiler {
reason: Option<String>,
content: ChatMessageContent,
},
HardBreak,
BlockQuote(ChatMessageContent),
}