edit in crates/typst_rust_gen/src/lib.rs at line 7
+ use syn::{
+ token, AngleBracketedGenericArguments, Expr, ExprCall, ExprLit, ExprPath, ExprTuple,
+ GenericArgument, GenericParam, Generics, Ident, Item, ItemFn, ItemMod, ItemUse, Lit, LitStr,
+ PathArguments, PathSegment, ReturnType, Signature, Stmt, TraitBound, TraitBoundModifier,
+ TypeImplTrait, TypeParam, TypeParamBound, TypePath, UseGroup, UseName, UsePath, UseTree,
+ Visibility,
+ };
replacement in crates/typst_rust_gen/src/lib.rs at line 59
− fn xilem_html_element(name: &str, expression: syn::Expr) -> syn::Expr {
− syn::Expr::Call(syn::ExprCall {
+ fn xilem_html_element(name: &str, expression: Expr) -> Expr {
+ Expr::Call(ExprCall {
replacement in crates/typst_rust_gen/src/lib.rs at line 63
− paren_token: syn::token::Paren::default(),
+ paren_token: token::Paren::default(),
replacement in crates/typst_rust_gen/src/lib.rs at line 79
[4.1412]→[4.1412:1505](∅→∅) − fn nth_deepest_module(global_module: &mut syn::ItemMod, limit: usize) -> &mut syn::ItemMod {
+ fn nth_deepest_module(global_module: &mut ItemMod, limit: usize) -> &mut ItemMod {
replacement in crates/typst_rust_gen/src/lib.rs at line 86
[4.1726]→[4.1726:1768](∅→∅) − syn::Item::Mod(next) => next,
+ Item::Mod(next) => next,
replacement in crates/typst_rust_gen/src/lib.rs at line 96
[4.1862]→[4.1862:1925](∅→∅) − fn new_module(name: &str) -> syn::ItemMod {
− syn::ItemMod {
+ fn new_module(name: &str) -> ItemMod {
+ ItemMod {
replacement in crates/typst_rust_gen/src/lib.rs at line 99
[4.1952]→[4.1952:2018](∅→∅) − vis: syn::Visibility::Public(syn::token::Pub::default()),
+ vis: Visibility::Public(token::Pub::default()),
replacement in crates/typst_rust_gen/src/lib.rs at line 101
[4.2042]→[4.2042:2159](∅→∅) − mod_token: syn::token::Mod::default(),
− ident: syn::Ident::new(name, proc_macro2::Span::call_site()),
+ mod_token: token::Mod::default(),
+ ident: Ident::new(name, proc_macro2::Span::call_site()),
replacement in crates/typst_rust_gen/src/lib.rs at line 104
[4.2183]→[4.2183:2272](∅→∅) − syn::token::Brace::default(),
− vec![syn::Item::Use(syn::ItemUse {
+ token::Brace::default(),
+ vec![Item::Use(ItemUse {
replacement in crates/typst_rust_gen/src/lib.rs at line 107
[4.2307]→[4.2307:2411](∅→∅) − vis: syn::Visibility::Inherited,
− use_token: syn::token::Use::default(),
+ vis: Visibility::Inherited,
+ use_token: token::Use::default(),
replacement in crates/typst_rust_gen/src/lib.rs at line 110
[4.2448]→[4.2448:2887](∅→∅) − tree: syn::UseTree::Path(syn::UsePath {
− ident: syn::Ident::new("xilem_html", proc_macro2::Span::call_site()),
− colon2_token: syn::token::PathSep::default(),
− tree: Box::new(syn::UseTree::Group(syn::UseGroup {
− brace_token: syn::token::Brace::default(),
− items: Punctuated::<syn::UseTree, syn::token::Comma>::from_iter(
+ tree: UseTree::Path(UsePath {
+ ident: Ident::new("xilem_html", proc_macro2::Span::call_site()),
+ colon2_token: token::PathSep::default(),
+ tree: Box::new(UseTree::Group(UseGroup {
+ brace_token: token::Brace::default(),
+ items: Punctuated::<UseTree, token::Comma>::from_iter(
replacement in crates/typst_rust_gen/src/lib.rs at line 117
[4.2921]→[4.2921:3210](∅→∅) − syn::UseTree::Name(syn::UseName {
− ident: syn::Ident::new(
− "elements",
− proc_macro2::Span::call_site(),
− ),
+ UseTree::Name(UseName {
+ ident: Ident::new("elements", proc_macro2::Span::call_site()),
replacement in crates/typst_rust_gen/src/lib.rs at line 120
[4.3246]→[4.3246:3372](∅→∅) − syn::UseTree::Name(syn::UseName {
− ident: syn::Ident::new(
+ UseTree::Name(UseName {
+ ident: Ident::new(
replacement in crates/typst_rust_gen/src/lib.rs at line 131
[4.3719]→[4.3719:3776](∅→∅) − semi_token: syn::token::Semi::default(),
+ semi_token: token::Semi::default(),
replacement in crates/typst_rust_gen/src/lib.rs at line 150
[4.1631]→[4.4077:4136](∅→∅) − fn files_to_modules(mut files: Vec<String>) -> syn::Item {
+ fn files_to_modules(mut files: Vec<String>) -> Item {
replacement in crates/typst_rust_gen/src/lib.rs at line 186
[4.5502]→[4.5502:5551](∅→∅) − .push(syn::Item::Mod(new_module(
+ .push(Item::Mod(new_module(
replacement in crates/typst_rust_gen/src/lib.rs at line 201
[4.6047]→[4.6047:6125](∅→∅) − .get_or_insert(&mut ((syn::token::Brace::default()), Vec::new()))
+ .get_or_insert(&mut ((token::Brace::default()), Vec::new()))
replacement in crates/typst_rust_gen/src/lib.rs at line 213
[4.6410]→[4.6410:6437](∅→∅) replacement in crates/typst_rust_gen/src/lib.rs at line 230
[4.1782]→[4.6625:6730](∅→∅) − fn blocks_to_function(name: &str, blocks: Vec<syn::Expr>) -> syn::Item {
− syn::Item::Fn(syn::ItemFn {
+ fn blocks_to_function(name: &str, blocks: Vec<Expr>) -> Item {
+ Item::Fn(ItemFn {
replacement in crates/typst_rust_gen/src/lib.rs at line 233
[4.1898]→[4.6731:6827](∅→∅) − vis: syn::Visibility::Public(syn::token::Pub::default()),
− sig: syn::Signature {
+ vis: Visibility::Public(token::Pub::default()),
+ sig: Signature {
replacement in crates/typst_rust_gen/src/lib.rs at line 239
[4.6936]→[4.6936:7456](∅→∅) − fn_token: syn::token::Fn::default(),
− ident: syn::Ident::new(name, proc_macro2::Span::call_site()),
− generics: syn::Generics { lt_token: None, params: Punctuated::from_iter(vec![syn::GenericParam::Type(syn::TypeParam { attrs: Vec::new(), ident: syn::Ident::new("T", proc_macro2::Span::call_site()), colon_token: None, bounds: Punctuated::new(), eq_token: None, default: None })].into_iter()), gt_token: None, where_clause: None },
− paren_token: syn::token::Paren::default(),
+ fn_token: token::Fn::default(),
+ ident: Ident::new(name, proc_macro2::Span::call_site()),
+ generics: Generics { lt_token: None, params: Punctuated::from_iter(vec![GenericParam::Type(TypeParam { attrs: Vec::new(), ident: Ident::new("T", proc_macro2::Span::call_site()), colon_token: None, bounds: Punctuated::new(), eq_token: None, default: None })].into_iter()), gt_token: None, where_clause: None },
+ paren_token: token::Paren::default(),
replacement in crates/typst_rust_gen/src/lib.rs at line 245
[4.7523]→[4.7523:7741](∅→∅) − output: syn::ReturnType::Type(
− syn::token::RArrow::default(),
− Box::new(syn::Type::ImplTrait(syn::TypeImplTrait {
− impl_token: syn::token::Impl::default(),
+ output: ReturnType::Type(
+ token::RArrow::default(),
+ Box::new(syn::Type::ImplTrait(TypeImplTrait {
+ impl_token: token::Impl::default(),
replacement in crates/typst_rust_gen/src/lib.rs at line 250
[4.7792]→[4.7792:7866](∅→∅) − vec![syn::TypeParamBound::Trait(syn::TraitBound {
+ vec![TypeParamBound::Trait(TraitBound {
replacement in crates/typst_rust_gen/src/lib.rs at line 252
[4.7913]→[4.7913:7982](∅→∅) − modifier: syn::TraitBoundModifier::None,
+ modifier: TraitBoundModifier::None,
replacement in crates/typst_rust_gen/src/lib.rs at line 257
[4.8191]→[4.8191:8315](∅→∅) − vec![syn::PathSegment {
− ident: syn::Ident::new(
+ vec![PathSegment {
+ ident: Ident::new(
replacement in crates/typst_rust_gen/src/lib.rs at line 262
[4.8494]→[4.8494:8663](∅→∅) − arguments: syn::PathArguments::AngleBracketed(
− syn::AngleBracketedGenericArguments {
+ arguments: PathArguments::AngleBracketed(
+ AngleBracketedGenericArguments {
replacement in crates/typst_rust_gen/src/lib.rs at line 265
[4.8731]→[4.8731:8816](∅→∅) − lt_token: syn::token::Lt::default(),
+ lt_token: token::Lt::default(),
replacement in crates/typst_rust_gen/src/lib.rs at line 267
[4.8893]→[4.8893:9066](∅→∅) − vec![syn::GenericArgument::Type(
− syn::Type::Path(syn::TypePath {
+ vec![GenericArgument::Type(
+ syn::Type::Path(TypePath {
replacement in crates/typst_rust_gen/src/lib.rs at line 272
[4.9302]→[4.9302:9536](∅→∅) − segments: Punctuated::from_iter(vec![syn::PathSegment { ident: syn::Ident::new("T", proc_macro2::Span::call_site()), arguments: syn::PathArguments::None }].into_iter()),
+ segments: Punctuated::from_iter(vec![PathSegment { ident: Ident::new("T", proc_macro2::Span::call_site()), arguments: PathArguments::None }].into_iter()),
replacement in crates/typst_rust_gen/src/lib.rs at line 278
[4.9831]→[4.9831:9916](∅→∅) − gt_token: syn::token::Gt::default(),
+ gt_token: token::Gt::default(),
replacement in crates/typst_rust_gen/src/lib.rs at line 292
[4.10250]→[4.10250:10396](∅→∅) − brace_token: syn::token::Brace::default(),
− stmts: vec![syn::Stmt::Expr(
− syn::Expr::Tuple(syn::ExprTuple {
+ brace_token: token::Brace::default(),
+ stmts: vec![Stmt::Expr(
+ Expr::Tuple(ExprTuple {
replacement in crates/typst_rust_gen/src/lib.rs at line 296
[4.2174]→[4.10397:10460](∅→∅) − paren_token: syn::token::Paren::default(),
+ paren_token: token::Paren::default(),
replacement in crates/typst_rust_gen/src/lib.rs at line 305
[4.3113]→[4.3113:3307](∅→∅) − fn path_segment(segment: &str) -> syn::PathSegment {
− syn::PathSegment {
− ident: syn::Ident::new(segment, proc_macro2::Span::call_site()),
− arguments: syn::PathArguments::None,
+ fn path_segment(segment: &str) -> PathSegment {
+ PathSegment {
+ ident: Ident::new(segment, proc_macro2::Span::call_site()),
+ arguments: PathArguments::None,
replacement in crates/typst_rust_gen/src/lib.rs at line 312
[4.3316]→[4.3316:3449](∅→∅) − fn expr_path(name: &str) -> syn::Expr {
− let mut segments: Punctuated<syn::PathSegment, syn::token::PathSep> = Punctuated::new();
+ fn expr_path(name: &str) -> Expr {
+ let mut segments: Punctuated<PathSegment, token::PathSep> = Punctuated::new();
replacement in crates/typst_rust_gen/src/lib.rs at line 320
[4.3583]→[4.3583:3619](∅→∅) − let expr_path = syn::ExprPath {
+ let expr_path = ExprPath {
replacement in crates/typst_rust_gen/src/lib.rs at line 329
[4.3767]→[4.3767:3798](∅→∅) − syn::Expr::Path(expr_path)
replacement in crates/typst_rust_gen/src/lib.rs at line 332
[4.1962]→[4.10608:10669](∅→∅) − fn pandoc_to_xilem(block: &pandoc_ast::Block) -> syn::Expr {
+ fn pandoc_to_xilem(block: &pandoc_ast::Block) -> Expr {
replacement in crates/typst_rust_gen/src/lib.rs at line 348
− fn literal_string(value: &str) -> syn::ExprLit {
− let lit_str = syn::LitStr::new(value, proc_macro2::Span::call_site());
− syn::ExprLit {
+ fn literal_string(value: &str) -> ExprLit {
+ let lit_str = LitStr::new(value, proc_macro2::Span::call_site());
+ ExprLit {
replacement in crates/typst_rust_gen/src/lib.rs at line 352
− lit: syn::Lit::Str(lit_str),
+ lit: Lit::Str(lit_str),
replacement in crates/typst_rust_gen/src/lib.rs at line 356
− fn transform_inline(inline: &pandoc_ast::Inline) -> syn::Expr {
+ fn transform_inline(inline: &pandoc_ast::Inline) -> Expr {
replacement in crates/typst_rust_gen/src/lib.rs at line 359
[4.2489]→[4.281:369](∅→∅),
[4.369]→[4.126:245](∅→∅),
[4.245]→[3.456:466](∅→∅) − pandoc_ast::Inline::Str(text) => syn::Expr::Lit(literal_string(text.as_str())),
− pandoc_ast::Inline::Space | pandoc_ast::Inline::SoftBreak => {
− syn::Expr::Lit(literal_string(" "))
− }
+ pandoc_ast::Inline::Str(text) => Expr::Lit(literal_string(text.as_str())),
+ pandoc_ast::Inline::Space | pandoc_ast::Inline::SoftBreak => Expr::Lit(literal_string(" ")),
replacement in crates/typst_rust_gen/src/lib.rs at line 380
− fn split_tuple(expressions: Vec<syn::Expr>) -> Vec<syn::Expr> {
+ fn split_tuple(expressions: Vec<Expr>) -> Vec<Expr> {
replacement in crates/typst_rust_gen/src/lib.rs at line 385
− let mut elements: Vec<syn::Expr> = Vec::new();
+ let mut elements: Vec<Expr> = Vec::new();
replacement in crates/typst_rust_gen/src/lib.rs at line 388
− let expression_group: Vec<syn::Expr> = expression_chunk.to_vec();
− elements.push(syn::Expr::Tuple(syn::ExprTuple {
+ let expression_group: Vec<Expr> = expression_chunk.to_vec();
+ elements.push(Expr::Tuple(ExprTuple {
replacement in crates/typst_rust_gen/src/lib.rs at line 391
− paren_token: syn::token::Paren::default(),
+ paren_token: token::Paren::default(),
replacement in crates/typst_rust_gen/src/lib.rs at line 403
− fn extract_literal_string(expression: &syn::ExprLit) -> String {
− if let syn::Lit::Str(lit_str) = &expression.lit {
+ fn extract_literal_string(expression: &ExprLit) -> String {
+ if let Lit::Str(lit_str) = &expression.lit {
replacement in crates/typst_rust_gen/src/lib.rs at line 411
[4.2610]→[4.4494:4565](∅→∅) − fn transform_inlines(inlines: &Vec<pandoc_ast::Inline>) -> syn::Expr {
+ fn transform_inlines(inlines: &Vec<pandoc_ast::Inline>) -> Expr {
replacement in crates/typst_rust_gen/src/lib.rs at line 417
− if let syn::Expr::Lit(current_literal) = &inline {
− if let Some(syn::Expr::Lit(ref mut prev_literal)) = state.last_mut() {
+ if let Expr::Lit(current_literal) = &inline {
+ if let Some(Expr::Lit(ref mut prev_literal)) = state.last_mut() {
replacement in crates/typst_rust_gen/src/lib.rs at line 435
[4.1298]→[4.1298:1345](∅→∅) − _ => syn::Expr::Tuple(syn::ExprTuple {
+ _ => Expr::Tuple(ExprTuple {
replacement in crates/typst_rust_gen/src/lib.rs at line 437
[4.1376]→[4.1376:1431](∅→∅) − paren_token: syn::token::Paren::default(),
+ paren_token: token::Paren::default(),