Defining new structs for each type of lesser block.

This commit is contained in:
Tom Alexander
2023-04-21 17:40:49 -04:00
parent 77d3f40c19
commit dbb04dcba6
6 changed files with 262 additions and 21 deletions

View File

@@ -20,7 +20,7 @@ pub struct TableCell<'s> {
}
#[derive(Debug)]
pub struct LesserBlock<'s> {
pub struct VerseBlock<'s> {
pub source: &'s str,
pub name: &'s str,
pub data: Option<&'s str>,
@@ -28,7 +28,31 @@ pub struct LesserBlock<'s> {
}
#[derive(Debug)]
pub struct LesserBlockComment<'s> {
pub struct CommentBlock<'s> {
pub source: &'s str,
pub name: &'s str,
pub data: Option<&'s str>,
pub contents: &'s str,
}
#[derive(Debug)]
pub struct ExampleBlock<'s> {
pub source: &'s str,
pub name: &'s str,
pub data: Option<&'s str>,
pub contents: &'s str,
}
#[derive(Debug)]
pub struct ExportBlock<'s> {
pub source: &'s str,
pub name: &'s str,
pub data: Option<&'s str>,
pub contents: &'s str,
}
#[derive(Debug)]
pub struct SrcBlock<'s> {
pub source: &'s str,
pub name: &'s str,
pub data: Option<&'s str>,
@@ -63,3 +87,29 @@ impl<'s> Source<'s> for Comment<'s> {
self.source
}
}
impl<'s> Source<'s> for VerseBlock<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}
impl<'s> Source<'s> for CommentBlock<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}
impl<'s> Source<'s> for ExampleBlock<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}
impl<'s> Source<'s> for ExportBlock<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}
impl<'s> Source<'s> for SrcBlock<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}