Skip to main content

finemark_ast/elements/
block.rs

1use crate::{Element, Parameters, Span};
2use serde::Serialize;
3
4#[derive(Debug, Clone, Serialize)]
5pub struct HeadingElement<'i> {
6    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
7    pub span: Span,
8    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
9    pub marker_span: Span,
10    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
11    pub body_open_span: Option<Span>,
12    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
13    pub body_close_span: Option<Span>,
14    pub level: u8,
15    pub section_index: usize,
16    pub parameters: Parameters<'i>,
17    pub children: Vec<Element<'i>>,
18}
19
20#[derive(Debug, Clone, Serialize)]
21pub struct BlockQuoteElement<'i> {
22    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
23    pub span: Span,
24    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
25    pub body_open_span: Option<Span>,
26    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
27    pub body_close_span: Option<Span>,
28    pub parameters: Parameters<'i>,
29    pub children: Vec<Element<'i>>,
30}
31
32#[derive(Debug, Clone, Serialize)]
33pub struct HLineElement<'i> {
34    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
35    pub span: Span,
36    pub parameters: Parameters<'i>,
37}
38
39#[derive(Debug, Clone, Serialize)]
40pub struct CodeBlockElement<'i> {
41    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
42    pub span: Span,
43    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
44    pub open_span: Span,
45    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
46    pub close_span: Span,
47    pub parameters: Parameters<'i>,
48    pub value: &'i str,
49}
50
51#[derive(Debug, Clone, Serialize)]
52pub struct ParagraphBreakElement {
53    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
54    pub span: Span,
55}