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),
|
||
|
}
|