Skip to main content

treease_cli/
lib.rs

1use std::env;
2
3mod args;
4mod catalog;
5#[path = "io/mod.rs"]
6mod cli_io;
7mod commands;
8mod errors;
9mod execute;
10pub mod internal_metadata;
11mod parser;
12mod spec;
13#[cfg(test)]
14mod tests;
15mod web_assets;
16mod web_payload;
17mod web_server;
18
19use crate::args::CliError;
20
21pub fn main() {
22    let args: Vec<String> = env::args().collect();
23    let exit_code = match run(&args) {
24        Ok(code) => code,
25        Err(err) => {
26            eprint!("{}", errors::render_text(&err));
27            1
28        }
29    };
30    std::process::exit(exit_code);
31}
32
33fn run(raw_args: &[String]) -> Result<i32, CliError> {
34    commands::run::run_root_command(raw_args)
35}