Tholp's bespoke website generator
1use std::process::exit;
2
3use colored::Colorize;
4
5use crate::project::{Indexing, Project};
6
7pub fn error_generic(msg: &String) {
8 println!("{} {}", "[ERROR]".red(), msg);
9 exit(1);
10}
11
12pub fn error_skid(proj_context: &Project, origin_index: usize, origin_line: usize, msg: &String) {
13 println!(
14 "{} {}:{}; {}",
15 "[ERROR]".red(),
16 proj_context
17 .file_for_index(origin_index)
18 .expect("Panic in the error func.... (file_for_index() was None!)")
19 .into_os_string()
20 .into_string()
21 .unwrap(),
22 origin_line,
23 msg
24 );
25 exit(1);
26}
27
28pub fn warn_generic(msg: &String) {
29 println!("{} {}", "[WARN]".yellow(), msg);
30}
31
32pub fn warn_skid(proj_context: &Project, origin_index: usize, origin_line: usize, msg: &String) {
33 println!(
34 "{} {}:{}; {}",
35 "[WARN]".yellow(),
36 proj_context
37 .file_for_index(origin_index)
38 .expect("Panic in the warn func.... (file_for_index() was None!)")
39 .into_os_string()
40 .into_string()
41 .unwrap(),
42 origin_line,
43 msg
44 );
45}
46
47pub fn ok_generic(msg: &String) {
48 println!("{} {}", "[OK]".green(), msg);
49}
50
51pub fn reminder_skid(
52 proj_context: &Project,
53 origin_index: usize,
54 origin_line: usize,
55 msg: &String,
56) {
57 println!(
58 "{} {}:{}; {}",
59 "[REMINDER]".cyan(),
60 proj_context
61 .file_for_index(origin_index)
62 .expect("Panic in the warn func.... (file_for_index() was None!)")
63 .into_os_string()
64 .into_string()
65 .unwrap(),
66 origin_line,
67 msg
68 );
69}
70
71pub fn info_generic(msg: &String) {
72 println!("{} {}", "[INFO]".purple(), msg);
73}