MCPcopy Create free account
hub / github.com/bytecodealliance/wit-bindgen / preprocess

Method preprocess

crates/markdown/src/lib.rs:40–112  ·  view source on GitHub ↗
(&mut self, resolve: &Resolve, world: WorldId)

Source from the content-addressed store, hash-verified

38
39impl WorldGenerator for Markdown {
40 fn preprocess(&mut self, resolve: &Resolve, world: WorldId) {
41 self.sizes.fill(resolve);
42
43 let world = &resolve.worlds[world];
44 uwriteln!(
45 self.src,
46 "# <a id=\"{}\"></a>World {}\n",
47 world.name.to_snake_case(),
48 world.name
49 );
50 self.hrefs.insert(
51 world.name.to_string(),
52 format!("#{}", world.name.to_snake_case()),
53 );
54
55 let mut r#gen = self.interface(resolve);
56
57 r#gen.docs(&world.docs);
58 r#gen.push_str("\n");
59
60 // Produce a table of contents for the world.
61 let mut first = true;
62 for (name, import) in &world.imports {
63 if first {
64 r#gen.push_str(" - Imports:\n");
65 first = false;
66 }
67 let name = &resolve.name_world_key(name);
68 match import {
69 WorldItem::Interface { .. } => {
70 r#gen.push_str(" - interface `");
71 r#gen.push_str(name);
72 r#gen.push_str("`\n");
73 }
74 WorldItem::Function(_) => {
75 r#gen.push_str(" - function `");
76 r#gen.push_str(name);
77 r#gen.push_str("`\n");
78 }
79 WorldItem::Type { .. } => {
80 r#gen.push_str(" - type `");
81 r#gen.push_str(name);
82 r#gen.push_str("`\n");
83 }
84 }
85 }
86 let mut first = true;
87 for (name, export) in &world.exports {
88 if first {
89 r#gen.push_str(" - Exports:\n");
90 first = false;
91 }
92 let name = &resolve.name_world_key(name);
93 match export {
94 WorldItem::Interface { .. } => {
95 r#gen.push_str(" - interface `");
96 r#gen.push_str(name);
97 r#gen.push_str("`\n");

Callers

nothing calls this directly

Calls 5

insertMethod · 0.45
to_stringMethod · 0.45
interfaceMethod · 0.45
docsMethod · 0.45
push_strMethod · 0.45

Tested by

no test coverage detected