Improve `typst_rust_gen` function names

finchie
Oct 31, 2023, 4:49 PM
MPTQGIIJUNQSRWF5G63WDZLYH6EYURPENFTJ7J46VKPAWC6QQUGAC

Dependencies

  • [2] EENFIDOQ Fix basic example
  • [3] YKL5NCLH Import items from `syn`
  • [4] ZYNEMGAZ Use generated Typst code from Rust
  • [5] BSJYWOYS Implement MVP Typst embedding
  • [6] BA5Y6VSE Output Rust code using `syn`
  • [7] 2N3KOCP7 Create MVP Pandoc->Rust compiler
  • [8] FLIMM2YM Return `syn::Expr` instead of `&str` from `transform_inline`
  • [9] QPZ6QNIE Merge consecutive string literals
  • [10] JCYJWUI3 Add support for various text formats
  • [11] GYTRFADR Support Typst subdirectories
  • [12] RAWT2FQS Nest Xilem tuples longer than 10 elements

Change contents

  • edit in crates/typst_rust_gen/src/lib.rs at line 57
    [4.1119][4.1119:1122](),[4.1122][3.403:491](),[3.491][4.108:176](),[4.108][4.108:176](),[4.176][3.492:538](),[3.538][4.227:297](),[4.227][4.227:297]()
    }
    fn xilem_html_element(name: &str, expression: Expr) -> Expr {
    Expr::Call(ExprCall {
    attrs: Vec::new(),
    func: Box::new(expr_path(name)),
    paren_token: token::Paren::default(),
    args: Punctuated::from_iter([expression].into_iter()),
    })
  • replacement in crates/typst_rust_gen/src/lib.rs at line 59
    [4.1172][4.1172:1223]()
    pub fn output_rust(files: Vec<String>) -> String {
    [4.1172]
    [4.1223]
    pub fn files_to_rust(files: Vec<String>) -> String {
  • replacement in crates/typst_rust_gen/src/lib.rs at line 70
    [4.1412][3.539:622]()
    fn nth_deepest_module(global_module: &mut ItemMod, limit: usize) -> &mut ItemMod {
    [4.1412]
    [4.1505]
    fn get_module_at(global_module: &mut ItemMod, limit: usize) -> &mut ItemMod {
  • replacement in crates/typst_rust_gen/src/lib.rs at line 166
    [4.5087][4.5087:5171]()
    let function = blocks_to_function(&fs_path_to_module_ident(&file), pandoc);
    [4.5087]
    [4.5171]
    let function = xilem_to_function(&fs_path_to_module_ident(&file), pandoc);
  • replacement in crates/typst_rust_gen/src/lib.rs at line 185
    [4.5786][4.5786:5847]()
    parent = nth_deepest_module(&mut global, depth);
    [4.5786]
    [4.5847]
    parent = get_module_at(&mut global, depth);
  • replacement in crates/typst_rust_gen/src/lib.rs at line 200
    [4.6332][4.6332:6393]()
    parent = nth_deepest_module(&mut global, depth);
    [4.6332]
    [4.6393]
    parent = get_module_at(&mut global, depth);
  • replacement in crates/typst_rust_gen/src/lib.rs at line 221
    [4.1782][3.1963:2026]()
    fn blocks_to_function(name: &str, blocks: Vec<Expr>) -> Item {
    [4.1782]
    [3.2026]
    fn xilem_to_function(name: &str, blocks: Vec<Expr>) -> Item {
  • edit in crates/typst_rust_gen/src/lib.rs at line 321
    [3.4305]
    [4.1959]
    }
    fn xilem_html_element(name: &str, expression: Expr) -> Expr {
    Expr::Call(ExprCall {
    attrs: Vec::new(),
    func: Box::new(expr_path(name)),
    paren_token: token::Paren::default(),
    args: Punctuated::from_iter([expression].into_iter()),
    })
  • replacement in crates/typst_rust_gen/src/lib.rs at line 335
    [4.3952][4.2076:2142](),[4.2076][4.2076:2142]()
    let transformed_inlines = transform_inlines(inlines);
    [4.3952]
    [4.3953]
    let transformed_inlines = pandoc_inlines_to_xilem(inlines);
  • replacement in crates/typst_rust_gen/src/lib.rs at line 341
    [4.4192][4.2255:2321](),[4.2255][4.2255:2321]()
    let transformed_inlines = transform_inlines(inlines);
    [4.4192]
    [4.391]
    let transformed_inlines = pandoc_inlines_to_xilem(inlines);
  • replacement in crates/typst_rust_gen/src/lib.rs at line 356
    [4.216][3.4525:4584]()
    fn transform_inline(inline: &pandoc_ast::Inline) -> Expr {
    [4.216]
    [4.107]
    fn pandoc_inline_to_xilem(inline: &pandoc_ast::Inline) -> Expr {
  • replacement in crates/typst_rust_gen/src/lib.rs at line 361
    [3.4769][4.466:565](),[4.466][4.466:565]()
    pandoc_ast::Inline::LineBreak => xilem_html_element("br", transform_inlines(&Vec::new())),
    [3.4769]
    [4.565]
    pandoc_ast::Inline::LineBreak => {
    xilem_html_element("br", pandoc_inlines_to_xilem(&Vec::new()))
    }
  • replacement in crates/typst_rust_gen/src/lib.rs at line 365
    [4.617][4.617:683]()
    xilem_html_element("sub", transform_inlines(inlines))
    [4.617]
    [4.245]
    xilem_html_element("sub", pandoc_inlines_to_xilem(inlines))
  • replacement in crates/typst_rust_gen/src/lib.rs at line 368
    [4.738][4.738:804]()
    xilem_html_element("sup", transform_inlines(inlines))
    [4.738]
    [4.804]
    xilem_html_element("sup", pandoc_inlines_to_xilem(inlines))
    }
    pandoc_ast::Inline::Emph(inlines) => {
    xilem_html_element("b", pandoc_inlines_to_xilem(inlines))
  • edit in crates/typst_rust_gen/src/lib.rs at line 373
    [4.814][4.814:912]()
    pandoc_ast::Inline::Emph(inlines) => xilem_html_element("b", transform_inlines(inlines)),
  • replacement in crates/typst_rust_gen/src/lib.rs at line 374
    [4.964][4.964:1028]()
    xilem_html_element("u", transform_inlines(inlines))
    [4.964]
    [4.1028]
    xilem_html_element("u", pandoc_inlines_to_xilem(inlines))
  • replacement in crates/typst_rust_gen/src/lib.rs at line 377
    [4.1090][4.1090:1154]()
    xilem_html_element("s", transform_inlines(inlines))
    [4.1090]
    [4.1154]
    xilem_html_element("s", pandoc_inlines_to_xilem(inlines))
  • replacement in crates/typst_rust_gen/src/lib.rs at line 415
    [4.2610][3.5149:5215]()
    fn transform_inlines(inlines: &Vec<pandoc_ast::Inline>) -> Expr {
    [4.2610]
    [4.189]
    fn pandoc_inlines_to_xilem(inlines: &Vec<pandoc_ast::Inline>) -> Expr {
  • replacement in crates/typst_rust_gen/src/lib.rs at line 419
    [4.252][4.252:287]()
    .map(transform_inline)
    [4.252]
    [4.287]
    .map(pandoc_inline_to_xilem)
  • replacement in crates/typst_rust_gen/examples/basic.rs at line 1
    [4.2864][4.10670:10703]()
    use typst_rust_gen::output_rust;
    [4.2842]
    [4.2902]
    use typst_rust_gen::files_to_rust;
  • replacement in crates/typst_rust_gen/examples/basic.rs at line 4
    [4.2915][2.0:75]()
    let generated_code = output_rust(vec![String::from("docs/test.typ")]);
    [4.2915]
    [2.75]
    let generated_code = files_to_rust(vec![String::from("docs/test.typ")]);
  • replacement in build.rs at line 3
    [4.360][4.468:501]()
    use typst_rust_gen::output_rust;
    [4.360]
    [4.360]
    use typst_rust_gen::files_to_rust;
  • replacement in build.rs at line 37
    [4.1820][4.967:1011]()
    let rust_code = output_rust(filenames);
    [4.1820]
    [4.1011]
    let rust_code = files_to_rust(filenames);