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}