diff options
| author | Philipp A | 2019-12-08 16:55:21 +0100 |
|---|---|---|
| committer | Philipp A | 2019-12-08 17:13:15 +0100 |
| commit | 13ecb9436b5987237062a79c21b1630689d4715d (patch) | |
| tree | c410ed45edfff10c5d09e9c38e1fd90f1ef9f7e9 /src/parser/conversion | |
| parent | 588f2474c4f13417c9dae18defc657fcb6c0f07e (diff) | |
| download | rust-rst-13ecb9436b5987237062a79c21b1630689d4715d.tar.bz2 | |
Render emph, strong, and literal
Diffstat (limited to 'src/parser/conversion')
| -rw-r--r-- | src/parser/conversion/inline.rs | 8 |
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), }) } |
