aboutsummaryrefslogtreecommitdiffstats
path: root/src/parser/conversion
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/conversion')
-rw-r--r--src/parser/conversion/inline.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/parser/conversion/inline.rs b/src/parser/conversion/inline.rs
index ed118c3..297680a 100644
--- a/src/parser/conversion/inline.rs
+++ b/src/parser/conversion/inline.rs
@@ -5,7 +5,8 @@ use crate::document_tree::{
elements as e,
element_categories as c,
extra_attributes as a,
- attribute_types as at
+ attribute_types as at,
+ element_categories::HasChildren,
};
use crate::parser::{
@@ -19,9 +20,12 @@ use super::whitespace_normalize_name;
pub fn convert_inline(pair: Pair<Rule>) -> Result<c::TextOrInlineElement, Error> {
Ok(match pair.as_rule() {
- Rule::str => pair.as_str().into(),
+ Rule::str | Rule::str_nested => pair.as_str().into(),
Rule::reference => convert_reference(pair)?,
Rule::substitution_ref => convert_substitution_ref(pair)?.into(),
+ Rule::emph => e::Emphasis::with_children(convert_inlines(pair)?).into(),
+ Rule::strong => e::Strong::with_children(convert_inlines(pair)?).into(),
+ Rule::literal => e::Literal::with_children(convert_inlines(pair)?).into(),
rule => unimplemented!("unknown rule {:?}", rule),
})
}