tawasuyu/llimphi
Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.
1//! Corre un módulo WASI de consola y vuelca su salida.
2//!
3//! `cargo run -p llimphi-wasm-wasi --example run -- programa.wasm [args…]`
4
5use llimphi_wasm_wasi::{detect_kind, run_console, WasmKind};
6
7fn main() {
8 let mut a = std::env::args().skip(1);
9 let path = a.next().unwrap_or_else(|| {
10 eprintln!("uso: run <programa.wasm> [args…]");
11 std::process::exit(2);
12 });
13 let args: Vec<String> = a.collect();
14 let wasm = std::fs::read(&path).expect("leer wasm");
15
16 eprintln!("clase del módulo: {:?}", detect_kind(&wasm));
17 if detect_kind(&wasm) != WasmKind::WasiConsole {
18 eprintln!("(no es un módulo WASI de consola)");
19 }
20
21 let out = run_console(&wasm, &args, &[], &[]).expect("correr");
22 print!("{}", out.stdout_text());
23 eprint!("{}", out.stderr_text());
24 std::process::exit(out.exit_code);
25}