Skip to main content

rl_lang/interpreter/stdlib/process/
args.rs

1use crate::{
2    ast::statements::TypeAnnotation,
3    interpreter::{evaluator::Evaluator, values::Value},
4    utils::{errors::Error, span::Span},
5};
6
7pub fn std_args(eval: &mut Evaluator, _: Vec<Value>, _: Span) -> Result<Value, Error> {
8    let args: Vec<Value> = std::env::args()
9        .skip(eval.user_args_offset)
10        .map(Value::String)
11        .collect();
12    Ok(Value::Values {
13        items_type: TypeAnnotation::String,
14        items: args,
15    })
16}