31 lines
603 B
Rust
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),
|
|
}
|