Return `syn::Expr` instead of `&str` from `transform_inline`
Dependencies
- [2]
BA5Y6VSEOutput Rust code using `syn` - [3]
GYTRFADRSupport Typst subdirectories - [4]
2N3KOCP7Create MVP Pandoc->Rust compiler
Change contents
- replacement in crates/typst_rust_gen/src/lib.rs at line 362
fn transform_inline(inline: &pandoc_ast::Inline) -> &str {fn literal_string(value: &str) -> syn::ExprLit {let lit_str = syn::LitStr::new(value, proc_macro2::Span::call_site());syn::ExprLit {attrs: Vec::new(),lit: syn::Lit::Str(lit_str),}}fn transform_inline(inline: &pandoc_ast::Inline) -> syn::Expr { - replacement in crates/typst_rust_gen/src/lib.rs at line 372
pandoc_ast::Inline::Str(text) => text,pandoc_ast::Inline::Space => " ",pandoc_ast::Inline::Str(text) => syn::Expr::Lit(literal_string(text.as_str())),pandoc_ast::Inline::Space => syn::Expr::Lit(literal_string(" ")), - replacement in crates/typst_rust_gen/src/lib.rs at line 379
let transformed: Vec<&str> = inlines.iter().map(transform_inline).collect();let full_literal: String = transformed.join("");let expressions = inlines.into_iter().map(transform_inline); - replacement in crates/typst_rust_gen/src/lib.rs at line 381
// TODO: figure out what the span actually should belet lit_str = syn::LitStr::new(&full_literal, proc_macro2::Span::call_site());syn::Expr::Lit(syn::ExprLit {// Return a tuple containing every parent expressionsyn::Expr::Tuple(syn::ExprTuple { - replacement in crates/typst_rust_gen/src/lib.rs at line 384
lit: syn::Lit::Str(lit_str),paren_token: syn::token::Paren::default(),elems: Punctuated::from_iter(expressions),