rl_lang/interpreter/stdlib/io/read_file.rs
1use crate::{
2 interpreter::{evaluator::Evaluator, values::Value},
3 utils::{errors::Error, span::Span},
4};
5
6pub fn std_read_file(eval: &mut Evaluator, file: String, span: Span) -> Result<Value, Error> {
7 let data = std::fs::read_to_string(&file).map_err(|e| {
8 eval.err(
9 format!("read_file(): failed to read \"{}\": {}", file, e),
10 span,
11 )
12 })?;
13 Ok(Value::String(data))
14}