summaryrefslogtreecommitdiff
path: root/src/app.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/app.rs')
-rw-r--r--src/app.rs30
1 files changed, 24 insertions, 6 deletions
diff --git a/src/app.rs b/src/app.rs
index 937c7d7..b86e6ab 100644
--- a/src/app.rs
+++ b/src/app.rs
@@ -1,6 +1,11 @@
use std::{io, time::Duration};
-use crate::{sheet::register::Register, tui, widgets::{logview::LogView, sheetview::SheetView}};
+use crate::{
+ config, lua,
+ sheet::register::Register,
+ tui,
+ widgets::{logview::LogView, sheetview::SheetView},
+};
use ratatui::{
crossterm::event::{self, Event, KeyCode, KeyEvent, KeyEventKind, KeyModifiers},
@@ -29,12 +34,22 @@ impl App<'_> {
}
}
- let view = SheetView::new(sheet_id).block(Block::bordered().title("Sheet"));
+ let view = SheetView::new(sheet_id);
- Self { exit: false, view, logview: None }
+ Self {
+ exit: false,
+ view,
+ logview: None,
+ }
}
pub fn run(&mut self, terminal: &mut tui::Tui) -> io::Result<()> {
+ if let Err(e) = lua::source(&config::constants::USER_RC_PATH) {
+ self.exit = true;
+ tui::restore()?;
+ println!("{}", e.to_string());
+ }
+
while !self.exit {
terminal.draw(|frame| self.render_frame(frame))?;
self.handle_events()?;
@@ -65,7 +80,9 @@ impl App<'_> {
KeyCode::Char('l') if key_event.modifiers == KeyModifiers::CONTROL => {
match self.logview {
Some(_) => self.logview = None,
- None => self.logview = Some(LogView::new().block(Block::bordered().title(" Log "))),
+ None => {
+ self.logview = Some(LogView::new().block(Block::bordered().title(" Log ")))
+ }
}
}
_ => self.view.handle_key_event(key_event),
@@ -84,10 +101,11 @@ impl Widget for &mut App<'_> {
{
match &mut self.logview {
Some(logview) => {
- let layout = Layout::vertical([Constraint::Min(2), Constraint::Length(15)]).split(area);
+ let layout =
+ Layout::vertical([Constraint::Min(2), Constraint::Length(15)]).split(area);
self.view.render(layout[0], buf);
logview.render(layout[1], buf);
- },
+ }
None => self.view.render(area, buf),
}
}