1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
use run_script::ScriptOptions;
mod rs_files;
pub fn with_script(args: &Vec<String>, mode: &str, file_name: &str) {
let options = ScriptOptions::new();
if !mode.is_empty() {
let code_name :&str = &format!("{}_{}", file_name, mode);
let rs_code = rs_files::get_rs(code_name);
let set_file = format!("echo '{}'", rs_code);
let cmd_echo = format!("echo '{}' > {}.rs", rs_code, file_name);
let cargo_script = format!("cargo script {}.rs", file_name);
let rm_script = format!("rm -rf {}.rs", file_name);
let cmds = format!(
"{}\n{}\n{}\n{}",
&set_file, &cmd_echo, &cargo_script, &rm_script
);
let (_code, output, error) = run_script::run(&cmds, &args, &options).unwrap();
println!("{}\n\n", output);
println!("Compiler: Output Info >>>>>>>>>>>>>> :\n\n{}", error);
} else {
}
}
pub fn without_mode(args: &Vec<String>, file_name: &str) {
let options = ScriptOptions::new();
let cmd_cargo;
match file_name.as_ref() {
"bwx" => {
cmd_cargo = format!("cargo run --bin {}", file_name);
dbg!(&cmd_cargo);
let cmds = format!("{}", &cmd_cargo);
let (_code, output, error) = run_script::run(&cmds, &args, &options).unwrap();
println!("{}", output);
dbg!(error);
}
_ => {
println!("\n\nList commands with all features for this code {}:\n", file_name);
for item in rs_files::FEATURE_MODE.iter() {
let code_name = &format!("{}_{}", file_name, item);
let result = rs_files::get_rs(code_name);
if result != rs_files::HELLO {
println!("bw -c {} -f {} | bat -l rs", file_name, item);
}
}
}
}
}