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

@@ -2,22 +2,26 @@ use super::sexp::Token;
use super::util::assert_bounds;
use super::util::assert_name;
use crate::parser::Comment;
use crate::parser::CommentBlock;
use crate::parser::Document;
use crate::parser::DocumentElement;
use crate::parser::Drawer;
use crate::parser::Element;
use crate::parser::ExampleBlock;
use crate::parser::ExportBlock;
use crate::parser::FootnoteDefinition;
use crate::parser::GreaterBlock;
use crate::parser::Heading;
use crate::parser::LesserBlock;
use crate::parser::Paragraph;
use crate::parser::PlainList;
use crate::parser::PlainListItem;
use crate::parser::PropertyDrawer;
use crate::parser::Section;
use crate::parser::SrcBlock;
use crate::parser::Table;
use crate::parser::TableCell;
use crate::parser::TableRow;
use crate::parser::VerseBlock;
use crate::DynamicBlock;
#[derive(Debug)]
@@ -203,7 +207,11 @@ fn compare_element<'s>(
Element::Drawer(obj) => compare_drawer(source, emacs, obj),
Element::PropertyDrawer(obj) => compare_property_drawer(source, emacs, obj),
Element::Table(obj) => compare_table(source, emacs, obj),
Element::LesserBlock(obj) => compare_lesser_block(source, emacs, obj),
Element::VerseBlock(obj) => compare_verse_block(source, emacs, obj),
Element::CommentBlock(obj) => compare_comment_block(source, emacs, obj),
Element::ExampleBlock(obj) => compare_example_block(source, emacs, obj),
Element::ExportBlock(obj) => compare_export_block(source, emacs, obj),
Element::SrcBlock(obj) => compare_src_block(source, emacs, obj),
}
}
@@ -551,10 +559,42 @@ fn compare_table_cell<'s>(
})
}
fn compare_lesser_block<'s>(
fn compare_verse_block<'s>(
source: &'s str,
emacs: &'s Token<'s>,
rust: &'s LesserBlock<'s>,
rust: &'s VerseBlock<'s>,
) -> Result<DiffResult, Box<dyn std::error::Error>> {
todo!()
}
fn compare_comment_block<'s>(
source: &'s str,
emacs: &'s Token<'s>,
rust: &'s CommentBlock<'s>,
) -> Result<DiffResult, Box<dyn std::error::Error>> {
todo!()
}
fn compare_example_block<'s>(
source: &'s str,
emacs: &'s Token<'s>,
rust: &'s ExampleBlock<'s>,
) -> Result<DiffResult, Box<dyn std::error::Error>> {
todo!()
}
fn compare_export_block<'s>(
source: &'s str,
emacs: &'s Token<'s>,
rust: &'s ExportBlock<'s>,
) -> Result<DiffResult, Box<dyn std::error::Error>> {
todo!()
}
fn compare_src_block<'s>(
source: &'s str,
emacs: &'s Token<'s>,
rust: &'s SrcBlock<'s>,
) -> Result<DiffResult, Box<dyn std::error::Error>> {
todo!()
}