Skip to main content

luaur_repl_cli/functions/
main.rs

1use crate::functions::repl_main::repl_main;
2use core::ffi::c_char;
3use luaur_cli_lib::functions::set_luau_flags_default::set_luau_flags_default;
4use std::env;
5use std::ffi::CString;
6
7pub fn main() {
8    set_luau_flags_default();
9
10    let args: Vec<String> = env::args().collect();
11    let mut c_args: Vec<CString> = args
12        .iter()
13        .map(|arg| CString::new(arg.as_str()).unwrap())
14        .collect();
15    let mut argv: Vec<*mut c_char> = c_args
16        .iter_mut()
17        .map(|arg| arg.as_ptr() as *mut c_char)
18        .collect();
19
20    let exit_code = repl_main(args.len() as i32, argv.as_mut_ptr());
21    std::process::exit(exit_code);
22}