pub mod app;
pub mod event;
pub mod ui;
mod agent;
mod command;
mod config;
mod load_config;
mod message;
mod theme;
use crate::app::App;
use crossterm::execute;
pub async fn run_tui() -> color_eyre::Result<()> {
color_eyre::install()?;
execute!(
std::io::stdout(),
crossterm::event::EnableMouseCapture,
crossterm::event::EnableBracketedPaste,
)?;
let terminal = ratatui::init();
let result = App::new().await.run(terminal).await;
ratatui::restore();
execute!(
std::io::stdout(),
crossterm::event::DisableMouseCapture,
crossterm::event::DisableBracketedPaste,
)?;
result
}