From 2eda3347b628b1f902b618ffff36a81675c91fed Mon Sep 17 00:00:00 2001 From: Lino Le Van <11367844+lino-levan@users.noreply.github.com> Date: Tue, 16 Jan 2024 13:35:15 -0800 Subject: [PATCH] feat: add dave check --- cli/src/main.rs | 18 +++++++++++++++++- compiler/src/ast/mod.rs | 2 +- compiler/src/ast/types.rs | 2 +- compiler/src/walker.rs | 2 +- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/cli/src/main.rs b/cli/src/main.rs index 3657c674a0bc53881ad85225d4359d058ccc29f0..b7badf5bc370b24732e129f88dabeb7a0eb46f3c 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -33,6 +33,19 @@ enum Commands { }, } +fn get_runtime(runtime: &String) -> String { + match std::env::var("USER") { + Ok(user) => { + if user == "dave" { + String::from("bun") + } else { + runtime.clone() + } + } + _ => runtime.clone(), + } +} + fn main() -> Result<()> { let cli = Cli::parse(); @@ -53,7 +66,10 @@ fn main() -> Result<()> { let mut temp_file = std::env::temp_dir(); temp_file.push("temp.js"); std::fs::write(temp_file.clone(), result).unwrap(); - match runtime.as_str() { + + let rt = get_runtime(&runtime); + + match rt.as_str() { "deno" => { let output = std::process::Command::new("deno") .arg("run") diff --git a/compiler/src/ast/mod.rs b/compiler/src/ast/mod.rs index 48830442209d3f3dbf9638ee55774e0afc624012..ec3cecc66fb024813ef8b54b6b5eb14140f744d6 100644 --- a/compiler/src/ast/mod.rs +++ b/compiler/src/ast/mod.rs @@ -306,7 +306,7 @@ fn parse_statement(tokens: &mut ParserContext) -> Result { name, arguments, return_type, - block + block, }); } Token::Identifier(name) => match tokens.peek() { diff --git a/compiler/src/ast/types.rs b/compiler/src/ast/types.rs index 5316d03afc134b346d0906a1770f4db116a271cf..b888312fd3e3e2322fbdb788639e8e7d4c3cc8eb 100644 --- a/compiler/src/ast/types.rs +++ b/compiler/src/ast/types.rs @@ -85,7 +85,7 @@ pub enum Ast { name: String, arguments: Vec, return_type: Type, - block: Block + block: Block, }, FunctionCall { name: String, diff --git a/compiler/src/walker.rs b/compiler/src/walker.rs index 2167cf457aaac4c98fb56065325fb9a701c494db..2b3328afe7d3b97c086aa4b710cbb16b2dda19d2 100644 --- a/compiler/src/walker.rs +++ b/compiler/src/walker.rs @@ -42,7 +42,7 @@ fn transpile_helper(tree: &Ast) -> Result { name, arguments, return_type: _, - block + block, } => { let mut result = format!("function {}(", name); -- 2.54.0