sheetsui/src/main.rs

37 lines
843 B
Rust
Raw Normal View History

use std::path::PathBuf;
2024-10-23 16:14:18 -04:00
use clap::Parser;
use crossterm::event::{self, Event, KeyCode, KeyEventKind};
2024-10-29 19:47:50 -04:00
use ratatui;
mod sheet;
2024-10-29 19:47:50 -04:00
mod ui;
#[derive(Parser, Debug)]
#[command(version, about, long_about = None)]
pub struct Args {
#[arg()]
workbook: PathBuf,
}
2024-10-29 19:47:50 -04:00
fn run(terminal: &mut ratatui::DefaultTerminal, name: PathBuf) -> std::io::Result<()> {
loop {
2024-10-29 19:47:50 -04:00
terminal.draw(|frame| ui::draw(frame, &name))?;
if let Event::Key(key) = event::read()? {
if key.kind == KeyEventKind::Press && key.code == KeyCode::Char('q') {
return Ok(());
}
}
}
}
fn main() -> std::io::Result<()> {
2024-10-29 19:47:50 -04:00
let args = Args::parse();
let mut terminal = ratatui::init();
terminal.clear()?;
2024-10-29 19:47:50 -04:00
let app_result = run(&mut terminal, args.workbook);
ratatui::restore();
app_result
2024-10-23 16:14:18 -04:00
}