39 lines
963 B
Rust
39 lines
963 B
Rust
mod configuration;
|
|
mod core;
|
|
mod tui;
|
|
|
|
use clap::Parser;
|
|
use tracing::info;
|
|
|
|
#[derive(Debug, Parser)]
|
|
#[command(version, about)]
|
|
struct Arguments {
|
|
/// Force GUI mode
|
|
#[arg(short, long)]
|
|
gui: bool,
|
|
}
|
|
|
|
#[tokio::main]
|
|
async fn main() -> std::io::Result<()> {
|
|
let log_path = ".";
|
|
let log_filename = "pane-editor.log";
|
|
let appender = tracing_appender::rolling::never(log_path, log_filename);
|
|
let (non_blocking_appender, _guard) = tracing_appender::non_blocking(appender);
|
|
|
|
let subscriber = tracing_subscriber::fmt()
|
|
.with_writer(non_blocking_appender)
|
|
.finish();
|
|
tracing::subscriber::set_global_default(subscriber).unwrap();
|
|
std::panic::set_hook(Box::new(tracing_panic::panic_hook));
|
|
|
|
info!("Initializing pane-editor");
|
|
let args = Arguments::parse();
|
|
if args.gui {
|
|
info!("Starting GUI...");
|
|
Ok(())
|
|
} else {
|
|
info!("Starting TUI...");
|
|
tui::tui_main().await
|
|
}
|
|
}
|