Skip to main content

finemark_ast/elements/
inline.rs

1use crate::{Element, Parameters, Span};
2use serde::Serialize;
3
4#[derive(Debug, Clone, Serialize)]
5pub struct TextElement<'i> {
6    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
7    pub span: Span,
8    pub value: &'i str,
9}
10
11#[derive(Debug, Clone, Serialize)]
12pub struct CommentElement<'i> {
13    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
14    pub span: Span,
15    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
16    pub body_open_span: Option<Span>,
17    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
18    pub body_close_span: Option<Span>,
19    pub value: &'i str,
20}
21
22#[derive(Debug, Clone, Serialize)]
23pub struct SoftBreakElement {
24    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
25    pub span: Span,
26}
27
28#[derive(Debug, Clone, Serialize)]
29pub struct HardBreakElement {
30    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
31    pub span: Span,
32}
33
34#[derive(Debug, Clone, Serialize)]
35pub struct EscapeElement<'i> {
36    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
37    pub span: Span,
38    pub value: &'i str,
39}
40
41#[derive(Debug, Clone, Serialize)]
42pub struct ErrorElement<'i> {
43    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
44    pub span: Span,
45    pub value: &'i str,
46}
47
48#[derive(Debug, Clone, Serialize)]
49pub struct LinkElement<'i> {
50    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
51    pub span: Span,
52    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
53    pub body_open_span: Option<Span>,
54    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
55    pub body_close_span: Option<Span>,
56    pub parameters: Parameters<'i>,
57    pub children: Vec<Element<'i>>,
58}
59
60#[derive(Debug, Clone, Serialize)]
61pub struct InlineCodeElement<'i> {
62    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
63    pub span: Span,
64    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
65    pub open_span: Span,
66    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
67    pub close_span: Span,
68    pub value: &'i str,
69}
70
71#[derive(Debug, Clone, Serialize)]
72pub struct TeXElement<'i> {
73    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
74    pub span: Span,
75    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
76    pub open_span: Span,
77    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
78    pub close_span: Span,
79    pub is_block: bool,
80    pub value: &'i str,
81}
82
83#[derive(Debug, Clone, Serialize)]
84pub struct TextStyleElement<'i> {
85    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
86    pub span: Span,
87    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
88    pub open_span: Span,
89    #[cfg_attr(not(feature = "include-locations"), serde(skip_serializing))]
90    pub close_span: Span,
91    pub children: Vec<Element<'i>>,
92}