55 lines
911 B
Rust
55 lines
911 B
Rust
use super::span::Span;
|
|
|
|
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
|
|
pub enum Heading {
|
|
H1,
|
|
H2,
|
|
H3,
|
|
H4,
|
|
H5,
|
|
H6,
|
|
}
|
|
|
|
#[derive(Copy, Clone, Debug, Default, Eq, PartialEq)]
|
|
pub struct Style {
|
|
/// # heading (large text)
|
|
pub heading: Option<Heading>,
|
|
|
|
/// > quoted (slightly dimmer color or other font style)
|
|
pub quoted: bool,
|
|
|
|
/// `code` (monospace, some other color)
|
|
pub code: bool,
|
|
|
|
/// self.strong* (emphasized, e.g. bold)
|
|
pub strong: bool,
|
|
|
|
/// _underline_
|
|
pub underline: bool,
|
|
|
|
/// ~strikethrough~
|
|
pub strikethrough: bool,
|
|
|
|
/// /italics/
|
|
pub italics: bool,
|
|
|
|
/// $small$
|
|
pub small: bool,
|
|
|
|
/// ^raised^
|
|
pub raised: bool,
|
|
}
|
|
|
|
pub enum MarkdownItem<'a> {
|
|
Text {
|
|
span: Span<'a>,
|
|
style: Style,
|
|
},
|
|
|
|
CodeBlock {
|
|
all: Span<'a>,
|
|
language: Span<'a>,
|
|
code: Span<'a>,
|
|
},
|
|
}
|