summaryrefslogtreecommitdiff
path: root/src/description.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/description.rs')
-rw-r--r--src/description.rs17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/description.rs b/src/description.rs
index dfa521b..f536b4f 100644
--- a/src/description.rs
+++ b/src/description.rs
@@ -1,4 +1,5 @@
//! Reference entry description.
+use crate::itemized_list::{Error as ItemizedListError, ItemizedList};
use crate::variable_list::{Error as VariableListError, VariableList};
use crate::xml::element::{Elements, FromElements, Tagged};
@@ -164,6 +165,9 @@ pub enum ParagraphPart
/// Variable list part.
VariableList(VariableList),
+
+ /// Itemized list part.
+ ItemizedList(ItemizedList),
}
impl FromElements for ParagraphPart
@@ -195,7 +199,7 @@ impl ParagraphPart
"function" => Self::Function,
"parameter" => Self::Parameter,
"citerefentry" => Self::Entry,
- "variablelist" => |_| {
+ "variablelist" | "itemizedlist" => |_| {
unreachable!();
},
_ => {
@@ -226,6 +230,13 @@ impl ParagraphPart
return Ok(Self::VariableList(variable_list));
}
+ if tagged_element.name() == "itemizedlist" {
+ let itemized_list =
+ ItemizedList::from_elements(tagged_element.child_elements())?;
+
+ return Ok(Self::ItemizedList(itemized_list));
+ }
+
let text_element = tagged_element
.child_elements()
.get_first_text_element()
@@ -258,4 +269,8 @@ pub enum ParagraphPartError
/// Invalid variable list.
#[error("Invalid variable list")]
InvalidVariableList(#[from] VariableListError),
+
+ /// Invalid itemized list.
+ #[error("Invalid itemized list")]
+ InvalidItemizedList(#[from] ItemizedListError),
}