From 8b16dfaa7cad8cb8a666fcc75a63861b37925d69 Mon Sep 17 00:00:00 2001 From: Philipp A Date: Fri, 28 Dec 2018 16:40:44 +0100 Subject: Add From<&str> for ID and AT --- src/parser/conversion/inline.rs | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'src/parser') diff --git a/src/parser/conversion/inline.rs b/src/parser/conversion/inline.rs index d857bfe..1697a06 100644 --- a/src/parser/conversion/inline.rs +++ b/src/parser/conversion/inline.rs @@ -5,7 +5,6 @@ use crate::document_tree::{ ExtraAttributes, elements as e, element_categories as c, - attribute_types::{ID,NameToken}, extra_attributes as a, }; @@ -25,26 +24,21 @@ pub fn convert_inline(pair: Pair) -> Result fn convert_reference(pair: Pair) -> Result { let mut name = None; - let mut uri = None; - let mut id = None; - let mut name_tokens = vec![]; + let /*mut*/ refuri = None; + let mut refid = None; + let /*mut*/ 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 - //TODO: abstract away - id = Some( ID(rt_inner.as_str().to_owned().replace(' ', "-"))); - name = Some(NameToken(rt_inner.as_str().to_owned())); + 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!(), }; - let extra = a::Reference { - name: name, - refuri: uri, - refid: id, - refname: name_tokens, - }; - Ok(e::Reference::with_extra(extra)) + Ok(e::Reference::with_extra( + a::Reference { name, refuri, refid, refname } + )) } -- cgit v1.2.3