sevenmark_parser/ast/
list.rs1use serde::Serialize;
2
3use super::{Element, Expression, Parameters, Span};
4
5#[derive(Debug, Clone, Serialize)]
7pub struct ListElement {
8 #[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
9 pub span: Span,
10 pub kind: String,
11 pub parameters: Parameters,
12 pub children: Vec<ListContentItem>,
13}
14
15#[derive(Debug, Clone, Serialize)]
17pub enum ListContentItem {
18 Item(ListItemElement),
19 Conditional(ConditionalListItems),
20}
21
22#[derive(Debug, Clone, Serialize)]
24pub struct ListItemElement {
25 #[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
26 pub span: Span,
27 pub parameters: Parameters,
28 pub children: Vec<Element>,
29}
30
31#[derive(Debug, Clone, Serialize)]
33pub struct ConditionalListItems {
34 #[cfg_attr(not(feature = "include_locations"), serde(skip_serializing))]
35 pub span: Span,
36 pub condition: Expression,
37 pub items: Vec<ListItemElement>,
38}