luaur_reduce_cli/functions/
main.rs1use crate::functions::help::help;
2use crate::records::reducer::Reducer;
3use luaur_cli_lib::functions::read_file::read_file;
4
5pub fn main() {
6 let args = std::env::args().collect::<Vec<_>>();
7
8 if args.len() != 4 {
9 let arg_refs = args.iter().map(|s: &String| s.as_str()).collect::<Vec<_>>();
10 help(&arg_refs);
11 }
12
13 for i in 1..args.len() {
14 if args[i] == "--help" {
15 let arg_refs = args.iter().map(|s: &String| s.as_str()).collect::<Vec<_>>();
16 help(&arg_refs);
17 }
18 }
19
20 let script_name = args[1].clone();
21 let app_name = args[2].clone();
22 let search_text = args[3].clone();
23
24 let source = read_file(&script_name);
25 if source.is_none() {
26 eprintln!("Could not read source {}", &script_name);
27 std::process::exit(1);
28 }
29 let source = source.unwrap();
30
31 let mut reducer = Reducer::new();
33
34 reducer.run_string_string_string_view_string_view(script_name, app_name, &source, &search_text);
36}