Skip to main content

treease_cli/
lib.rs

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