aboutsummaryrefslogtreecommitdiffstats
path: root/src/parser/conversion/inline.rs
diff options
context:
space:
mode:
authorPhilipp A2019-12-08 16:55:21 +0100
committerPhilipp A2019-12-08 17:13:15 +0100
commit13ecb9436b5987237062a79c21b1630689d4715d (patch)
treec410ed45edfff10c5d09e9c38e1fd90f1ef9f7e9 /src/parser/conversion/inline.rs
parent588f2474c4f13417c9dae18defc657fcb6c0f07e (diff)
downloadrust-rst-13ecb9436b5987237062a79c21b1630689d4715d.tar.bz2
Render emph, strong, and literal
Diffstat (limited to 'src/parser/conversion/inline.rs')
-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),
})
}