organic/src/parser/greater_element.rs

126 lines
2.4 KiB
Rust
Raw Normal View History

2023-03-25 17:16:28 +00:00
use super::element::Element;
2023-04-20 02:09:53 +00:00
use super::lesser_element::TableCell;
use super::source::Source;
2023-03-25 17:16:28 +00:00
2023-03-23 21:26:07 +00:00
#[derive(Debug)]
pub struct PlainList<'s> {
pub source: &'s str,
2023-03-25 17:16:28 +00:00
pub children: Vec<PlainListItem<'s>>,
}
#[derive(Debug)]
pub struct PlainListItem<'s> {
pub source: &'s str,
pub indentation: usize,
2023-03-25 17:16:28 +00:00
pub bullet: &'s str,
pub children: Vec<Element<'s>>,
}
#[derive(Debug)]
pub struct GreaterBlock<'s> {
pub source: &'s str,
pub name: &'s str,
pub parameters: Option<&'s str>,
pub children: Vec<Element<'s>>,
2023-03-23 21:26:07 +00:00
}
2023-04-19 17:30:15 +00:00
#[derive(Debug)]
pub struct DynamicBlock<'s> {
pub source: &'s str,
pub name: &'s str,
pub parameters: Option<&'s str>,
pub children: Vec<Element<'s>>,
}
#[derive(Debug)]
pub struct FootnoteDefinition<'s> {
pub source: &'s str,
pub label: &'s str,
pub children: Vec<Element<'s>>,
}
2023-04-15 21:36:07 +00:00
#[derive(Debug)]
pub struct Drawer<'s> {
pub source: &'s str,
2023-04-15 21:56:07 +00:00
pub name: &'s str,
2023-04-15 21:36:07 +00:00
pub children: Vec<Element<'s>>,
}
#[derive(Debug)]
pub struct PropertyDrawer<'s> {
pub source: &'s str,
pub children: Vec<NodeProperty<'s>>,
}
#[derive(Debug)]
pub struct NodeProperty<'s> {
pub source: &'s str,
2023-04-19 22:10:29 +00:00
pub value: Option<&'s str>,
}
2023-04-20 00:59:58 +00:00
#[derive(Debug)]
pub struct Table<'s> {
pub source: &'s str,
pub children: Vec<TableRow<'s>>,
}
#[derive(Debug)]
pub struct TableRow<'s> {
pub source: &'s str,
2023-04-20 01:57:08 +00:00
pub children: Vec<TableCell<'s>>,
}
impl<'s> Source<'s> for PlainList<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}
impl<'s> Source<'s> for PlainListItem<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}
impl<'s> Source<'s> for GreaterBlock<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}
impl<'s> Source<'s> for DynamicBlock<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}
impl<'s> Source<'s> for FootnoteDefinition<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}
impl<'s> Source<'s> for Drawer<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}
impl<'s> Source<'s> for PropertyDrawer<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}
impl<'s> Source<'s> for Table<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}
impl<'s> Source<'s> for TableRow<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}