]> git.r.bdr.sh - rbdr/blog/blobdiff - src/main.rs
Improve the error handling
[rbdr/blog] / src / main.rs
index 4cb8036f7fb92f803f007f05e0ee3ccf091c0ab5..a5c2cf646a22b7e219d7c594c456e745044c73c9 100644 (file)
@@ -2,7 +2,14 @@
 mod configuration;
 mod command;
 mod constants;
+mod gemini_parser;
+mod generator;
+mod archiver;
 mod metadata;
+mod post;
+mod template;
+mod utils;
+mod remote;
 
 use std::iter::once;
 use std::env::args;
@@ -11,6 +18,22 @@ use command::{available_commands, Command, help::Help};
 use configuration::Configuration;
 
 fn main() -> Result<()> {
+    let result = run();
+
+    if cfg!(debug_assertions) {
+        result
+    } else {
+        match result {
+            Ok(_) => Ok(()),
+            Err(e) => {
+                eprintln!("Error: {}", e);
+                std::process::exit(1);
+            }
+        }
+    }
+}
+
+fn run() -> Result<()> {
     let configuration = Configuration::new();
     let commands = available_commands();
     let arguments: Vec<String> = args().collect();