Compare commits

..

2 Commits

Author SHA1 Message Date
df5661fa2b Allow calling functions without arguments 2023-06-24 00:07:12 -04:00
6fdf4de722 Fix lib name 2023-06-23 23:49:44 -04:00
4 changed files with 43 additions and 3 deletions

View File

@ -1,7 +1,7 @@
pub fn main() -> Result<(), Box<dyn std::error::Error>> { pub fn main() -> Result<(), Box<dyn std::error::Error>> {
let args = std::env::args().skip(1).collect::<Vec<String>>().join(" "); let args = std::env::args().skip(1).collect::<Vec<String>>().join(" ");
println!("{}", evalexpr::eval(&args)?); println!("{}", expressive::eval(&args)?);
Ok(()) Ok(())
} }

View File

@ -1,7 +1,7 @@
pub fn main() -> Result<(), Box<dyn std::error::Error>> { pub fn main() -> Result<(), Box<dyn std::error::Error>> {
let args = std::env::args().skip(1).collect::<Vec<String>>().join(" "); let args = std::env::args().skip(1).collect::<Vec<String>>().join(" ");
println!("{}", evalexpr::eval(&args)?); println!("{}", expressive::eval(&args)?);
Ok(()) Ok(())
} }

View File

@ -102,7 +102,10 @@ impl Context for VariableMap {
None None
} }
} else { } else {
self.variables.get(identifier) self.variables.get(identifier).or_else(|| {
self.call_function(identifier, &Value::Empty);
None
})
} }
} }

37
src/toolbox.rs Normal file
View File

@ -0,0 +1,37 @@
use crate::Result;
use std::collections::HashMap;
pub fn build(variables: &HashMap<String, Value>) -> Result<Value> {
let name = {
let name = if let Some(value) = variables.get("name") {
format!("--name {}", value)
} else {
String::with_capacity(0)
};
Value::String(name)
};
let image = {
let image = if let Some(value) = variables.get("image") {
format!("--image {}", value)
} else {
String::with_capacity(0)
};
Value::String(image)
};
// let toolbox_command = format!("toolbox create --image {} {}", &image, &name);
// Command::new("fish")
// .arg("-c")
// .arg(&toolbox_command)
// .spawn()
// .unwrap()
// .wait()
// .unwrap();
println!("{} {}", image, name);
Ok(Value::String("Built container.".to_string()))
}