Allow calling functions without arguments

This commit is contained in:
Jeff 2023-06-24 00:07:12 -04:00
parent 6fdf4de722
commit df5661fa2b
2 changed files with 41 additions and 1 deletions

View File

@ -102,7 +102,10 @@ impl Context for VariableMap {
None
}
} 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()))
}