I need to parse the affiliated keywords during parsing because it relies on the global settings.
This commit is contained in:
21
src/types/affiliated_keyword.rs
Normal file
21
src/types/affiliated_keyword.rs
Normal file
@@ -0,0 +1,21 @@
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
use super::Object;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum AffiliatedKeywordValue<'s> {
|
||||
SingleString(&'s str),
|
||||
ListOfStrings(Vec<&'s str>),
|
||||
ListOfObjects(Vec<Object<'s>>),
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct AffiliatedKeyword<'s> {
|
||||
pub name: &'s str,
|
||||
pub value: AffiliatedKeywordValue<'s>,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct AffiliatedKeywords<'s> {
|
||||
pub(crate) keywords: BTreeMap<&'s str, AffiliatedKeywordValue<'s>>,
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
use super::element::Element;
|
||||
use super::lesser_element::TableCell;
|
||||
use super::AffiliatedKeywords;
|
||||
use super::Keyword;
|
||||
use super::Object;
|
||||
use super::StandardProperties;
|
||||
@@ -7,7 +8,7 @@ use super::StandardProperties;
|
||||
#[derive(Debug)]
|
||||
pub struct PlainList<'s> {
|
||||
pub source: &'s str,
|
||||
pub affiliated_keywords: Vec<Keyword<'s>>,
|
||||
pub affiliated_keywords: AffiliatedKeywords<'s>,
|
||||
pub name: Option<&'s str>,
|
||||
pub list_type: PlainListType,
|
||||
pub children: Vec<PlainListItem<'s>>,
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
mod affiliated_keyword;
|
||||
mod ast_node;
|
||||
mod document;
|
||||
mod element;
|
||||
@@ -9,6 +10,9 @@ mod object;
|
||||
mod source;
|
||||
mod standard_properties;
|
||||
mod util;
|
||||
pub use affiliated_keyword::AffiliatedKeyword;
|
||||
pub use affiliated_keyword::AffiliatedKeywordValue;
|
||||
pub use affiliated_keyword::AffiliatedKeywords;
|
||||
pub(crate) use ast_node::AstNode;
|
||||
pub use document::Document;
|
||||
pub use document::DocumentElement;
|
||||
|
||||
Reference in New Issue
Block a user