aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorlukeflo2024-10-02 21:45:26 +0200
committerlukeflo2024-10-02 21:45:26 +0200
commit36f01f65b1804125e7d18a17ce57205248e1b7fd (patch)
treec46e63486a3c96448db091174efdcf343693dd9b /src/main.rs
parentc78ae222ea75d36f4aef6e274d2c986e37462276 (diff)
downloadbibiman-36f01f65b1804125e7d18a17ce57205248e1b7fd.tar.gz
bibiman-36f01f65b1804125e7d18a17ce57205248e1b7fd.zip
reordered tui handling
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs31
1 files changed, 6 insertions, 25 deletions
diff --git a/src/main.rs b/src/main.rs
index c7007ba..9fc9d17 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -21,17 +21,19 @@ use backend::cliargs::{self, CLIArgs};
use ratatui::{backend::CrosstermBackend, Terminal};
use crate::{
- frontend::app::{App, AppResult},
+ frontend::app::App,
frontend::event::{Event, EventHandler},
frontend::handler::handle_key_events,
frontend::tui::Tui,
};
+use color_eyre::eyre::Result;
+
pub mod backend;
pub mod frontend;
#[tokio::main]
-async fn main() -> AppResult<()> {
+async fn main() -> Result<()> {
// Parse CLI arguments
let parsed_args = CLIArgs::parse_cli_args();
@@ -48,29 +50,8 @@ async fn main() -> AppResult<()> {
}
// Create an application.
- let mut app = App::new();
-
- // Initialize the terminal user interface.
- let backend = CrosstermBackend::new(io::stdout());
- let terminal = Terminal::new(backend)?;
- let events = EventHandler::new(250);
- let mut tui = Tui::new(terminal, events);
- tui.init()?;
-
- // Start the main loop.
- while app.running {
- // Render the user interface.
- tui.draw(&mut app)?;
- // Handle events.
- match tui.events.next().await? {
- Event::Tick => app.tick(),
- Event::Key(key_event) => handle_key_events(key_event, &mut app)?,
- Event::Mouse(_) => {}
- Event::Resize(_, _) => {}
- }
- }
+ let mut app = App::new()?;
- // Exit the user interface.
- tui.exit()?;
+ app.run().await?;
Ok(())
}