1
0
Fork 0
trinitrix/src/main.rs

44 lines
916 B
Rust
Raw Normal View History

mod cli;
pub mod event_handler;
#[cfg(feature = "tui")]
mod tui_app;
#[cfg(feature = "cli")]
mod repl;
use clap::Parser;
use crate::cli::{Args, Command};
#[cfg(feature = "tui")]
pub use tui_app::*;
2023-06-14 21:49:20 +00:00
#[tokio::main]
async fn main() -> anyhow::Result<()> {
2023-07-01 10:44:11 +00:00
cli_log::init_cli_log!();
let args = Args::parse();
let command = args.subcommand.unwrap_or(
#[cfg(all(feature = "tui", not(feature = "cli")))]
Command::Start {},
#[cfg(all(feature = "cli", not(feature = "tui")))]
Command::Repl {},
#[cfg(all(feature = "cli", feature = "tui"))]
Command::Start {},
);
match command {
#[cfg(feature = "cli")]
Command::Repl {} => {
repl::run().await?;
}
#[cfg(feature = "tui")]
Command::Start {} => {
let mut app = app::App::new()?;
app.run().await?;
}
};
2023-06-14 21:49:20 +00:00
Ok(())
}