diff options
| author | Henry Gressmann <mail@henrygressmann.de> | 2023-12-02 23:50:14 +0100 |
|---|---|---|
| committer | Henry Gressmann <mail@henrygressmann.de> | 2023-12-02 23:50:14 +0100 |
| commit | 7f72605405443482add128cb66b7d09e6bb59de9 (patch) | |
| tree | e59314708468f1aed11fd218868d9fc18f480d3a /crates/cli/bin.rs | |
| parent | 07a0404aff79a8598392cfa0eed8aea96122adf5 (diff) | |
feat: finish parser module, switch from tracing to log
Signed-off-by: Henry Gressmann <mail@henrygressmann.de>
Diffstat (limited to 'crates/cli/bin.rs')
| -rw-r--r-- | crates/cli/bin.rs | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/crates/cli/bin.rs b/crates/cli/bin.rs index 2c554cd..9c6908d 100644 --- a/crates/cli/bin.rs +++ b/crates/cli/bin.rs @@ -2,9 +2,7 @@ use std::str::FromStr; use argh::FromArgs; use color_eyre::eyre::Result; -use tinywasm::{self, WasmValue}; -use util::install_tracing; - +use tinywasm::{self}; mod util; #[derive(FromArgs)] @@ -12,6 +10,10 @@ mod util; struct TinyWasmCli { #[argh(subcommand)] nested: TinyWasmSubcommand, + + /// log level + #[argh(option, short = 'l', default = "\"info\".to_string()")] + log_level: String, } #[derive(FromArgs)] @@ -22,7 +24,6 @@ enum TinyWasmSubcommand { enum Engine { Main, - Naive, } impl FromStr for Engine { @@ -30,7 +31,6 @@ impl FromStr for Engine { fn from_str(s: &str) -> Result<Self, Self::Err> { match s { - "naive" => Ok(Self::Naive), "main" => Ok(Self::Main), _ => Err(format!("unknown engine: {}", s)), } @@ -52,16 +52,26 @@ struct Run { fn main() -> Result<()> { color_eyre::install()?; - install_tracing(None); let args: TinyWasmCli = argh::from_env(); + let level = match args.log_level.as_str() { + "trace" => log::LevelFilter::Trace, + "debug" => log::LevelFilter::Debug, + "warn" => log::LevelFilter::Warn, + "error" => log::LevelFilter::Error, + "info" => log::LevelFilter::Info, + _ => log::LevelFilter::Info, + }; + + pretty_env_logger::formatted_builder() + .filter_level(level) + .init(); match args.nested { TinyWasmSubcommand::Run(Run { wasm_file, engine }) => { let wasm = std::fs::read(wasm_file)?; match engine { Engine::Main => run(&wasm), - Engine::Naive => run_naive(&wasm), } } } @@ -78,16 +88,3 @@ fn run(wasm: &[u8]) -> Result<()> { Ok(()) } - -fn run_naive(wasm: &[u8]) -> Result<()> { - let mut module = tinywasm::naive::Module::new(wasm)?; - let args = [WasmValue::I32(1), WasmValue::I32(2)]; - let res = tinywasm::naive::run(&mut module, "add", &args)?; - println!("res: {:?}", res); - - let args = [WasmValue::I64(1), WasmValue::I64(2)]; - let res = tinywasm::naive::run(&mut module, "add_64", &args)?; - println!("res: {:?}", res); - - Ok(()) -} |
