diff options
Diffstat (limited to 'src/parser/conversion/inline.rs')
| -rw-r--r-- | src/parser/conversion/inline.rs | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/src/parser/conversion/inline.rs b/src/parser/conversion/inline.rs index 8e4ce1f..c30b71d 100644 --- a/src/parser/conversion/inline.rs +++ b/src/parser/conversion/inline.rs @@ -2,43 +2,43 @@ use failure::Error; use pest::iterators::Pair; use crate::document_tree::{ - ExtraAttributes, - elements as e, - element_categories as c, - extra_attributes as a, + ExtraAttributes, + elements as e, + element_categories as c, + extra_attributes as a, }; use crate::parser::{ - pest_rst::Rule, + pest_rst::Rule, // pair_ext_parse::PairExt, }; pub fn convert_inline(pair: Pair<Rule>) -> Result<c::TextOrInlineElement, Error> { - Ok(match pair.as_rule() { - Rule::str => pair.as_str().into(), - Rule::reference => convert_reference(pair)?.into(), - rule => unimplemented!("unknown rule {:?}", rule), - }) + Ok(match pair.as_rule() { + Rule::str => pair.as_str().into(), + Rule::reference => convert_reference(pair)?.into(), + rule => unimplemented!("unknown rule {:?}", rule), + }) } fn convert_reference(pair: Pair<Rule>) -> Result<e::Reference, Error> { - let name; - let refuri = None; - let refid; - let refname = vec![]; - let concrete = pair.into_inner().next().unwrap(); - match concrete.as_rule() { - Rule::reference_target => { - let rt_inner = concrete.into_inner().next().unwrap(); // reference_target_uq or target_name_qu - refid = Some(rt_inner.as_str().into()); - name = Some(rt_inner.as_str().into()); - }, - Rule::reference_explicit => unimplemented!("explicit reference"), - Rule::reference_auto => unimplemented!("auto reference"), - _ => unreachable!(), - }; - Ok(e::Reference::with_extra( - a::Reference { name, refuri, refid, refname } - )) + let name; + let refuri = None; + let refid; + let refname = vec![]; + let concrete = pair.into_inner().next().unwrap(); + match concrete.as_rule() { + Rule::reference_target => { + let rt_inner = concrete.into_inner().next().unwrap(); // reference_target_uq or target_name_qu + refid = Some(rt_inner.as_str().into()); + name = Some(rt_inner.as_str().into()); + }, + Rule::reference_explicit => unimplemented!("explicit reference"), + Rule::reference_auto => unimplemented!("auto reference"), + _ => unreachable!(), + }; + Ok(e::Reference::with_extra( + a::Reference { name, refuri, refid, refname } + )) } |
