use std::io::{self, stdout};
use color_eyre::Result;
use crossterm::{
terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen},
ExecutableCommand,
};
use ratatui::{backend::CrosstermBackend, Terminal};
mod app;
mod content;
mod events;
mod markdown;
mod modules;
mod ui;
use app::App;
fn main() -> Result<()> {
color_eyre::install()?;
run()
}
fn run() -> Result<()> {
enable_raw_mode()?;
stdout().execute(EnterAlternateScreen)?;
let backend = CrosstermBackend::new(stdout());
let mut terminal = Terminal::new(backend)?;
let result = App::new().run(&mut terminal);
disable_raw_mode()?;
io::stdout().execute(LeaveAlternateScreen)?;
result
}