Skip to main content

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}