use microcad_builtin_proc_macros::builtin_fn;
use microcad_lang::{builtin::*, eval::*, value::*};
use microcad_lang_base::PushDiag;
#[builtin_fn(filename: String, id: String = String::new())]
pub fn import() -> Symbol {
|parameter_values, argument_values, context| match ArgumentMatch::find_match(
argument_values,
parameter_values,
) {
Ok(arg_map) => {
let search_paths = context.search_paths().clone();
context.import(&arg_map, &search_paths)
}
Err(err) => {
context.error(argument_values, err)?;
Ok(Value::None)
}
}
}